Tob*_*son 5 json javascriptserializer
我正在尝试使用Net 3.5中的JavaScriptSerializer生成以下JSON结构:
{
"chart": "pie",
"series": [
{
"name": "Browsers",
"data": [
[
"Firefox",
6
],
[
"MSIE",
4
]
],
"size": "43%"
}
]
}
Run Code Online (Sandbox Code Playgroud)
我面临的问题是关于数据部分.我似乎无法创建一个序列化为数据上述结构的类.
我已经阅读了其他帖子哪种触摸主题,但解决方案似乎总是使用JSON.Net.例如,使用JavaScriptSerializer序列化字典.虽然,我通常希望通过使用.Net 3.5框架中的JavaScriptSerializer或其他内置功能来解决它.
如何生成数据部分?
*编辑使用JavaScriptSerializer解决它的方法是为要序列化的对象上的data属性创建一个对象数组.
输入参数数据为"Firefox:6 \nMSIE:4 \nChrome:7".
public object [] GetData(string data){var dataStrArr = data.Split(new [] {Environment.NewLine},StringSplitOptions.None);
var dataArr = new object[dataStrArr.Length];
for (var index = 0; index < dataStrArr.Length; index++)
{
var component = dataStrArr[index];
var componentArr = component.Split(':');
if (componentArr.Length != 2)
continue;
var key = componentArr[0];
decimal value;
if (decimal.TryParse(componentArr[1], out value))
{
var keyValueArr = new object[2];
keyValueArr[0] = key;
keyValueArr[1] = value;
dataArr[index] = keyValueArr;
}
}
return dataArr;
}
Run Code Online (Sandbox Code Playgroud)
小智 1
我认为你需要类似以下类(RootObject)的东西来序列化它:
public class Series
{
public string name { get; set; }
public List<List<object>> data { get; set; }
public string size { get; set; }
}
public class RootObject
{
public string chart { get; set; }
public List<Series> series { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
让我知道这是否有帮助。
| 归档时间: |
|
| 查看次数: |
986 次 |
| 最近记录: |