我是JSON的新手。我正在尝试使用C#创建以下JSON格式:
series: {
name: "series1",
data: [[0,2],[1,3],[2,1],[3,4]]
}
我正在与data
部分斗争。我的.NET代码应该是什么才能实现上述格式?
答案 0 :(得分:2)
List<int[]> arr = new List<int[]>()
{
new[]{0,2},new[]{1,3},new[]{2,1},new[]{3,4},
};
var obj = new { data = arr };
string json = JsonConvert.SerializeObject(obj);
输出: {"data":[[0,2],[1,3],[2,1],[3,4]]}
声明这些类(请参阅http://json2csharp.com/)
public class RootObject
{
public Series series { get; set; }
}
public class Series
{
public string name { get; set; }
public List<List<int>> data { get; set; }
}
创建RootObject
的实例,填充属性并对其进行序列化。
答案 1 :(得分:0)
使用newtonsoft Json.net序列化对象,可通过nuget或http://james.newtonking.com/json
获取创建像这样的对象
var seriesContent = new Dictionary<string, object>
{
{"name", "series1"},
{"data", new[] {new[]{0,2},new[]{1,3},new[]{2,1},new[]{3,4}}}
};
var series = new Dictionary<string, object>
{
{"series", seriesContent}
};
var s = JsonConvert.SerializeObject(series);
s
将包含
{
"series": {
"name": "series1",
"data": [
[0, 2],
[1, 3],
[2, 1],
[3, 4]
]
}
}