创建JSON数组

时间:2014-02-17 22:43:13

标签: c# json

我是JSON的新手。我正在尝试使用C#创建以下JSON格式:

series: {
   name: "series1",
   data: [[0,2],[1,3],[2,1],[3,4]]
}

我正在与data部分斗争。我的.NET代码应该是什么才能实现上述格式?

2 个答案:

答案 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]]}

OR

声明这些类(请参阅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]
        ]
    }
}