我正在尝试创建=>
{
"Data1":{
"DataListOne": [0, 1],
"DataListTwo": [1, 0, 0, 0]
},
"Data2":{
"DataListOne": [1, 0],
"DataListTwo": [0, 0, 0, 1]
},
"Data-n" : {
"DataListOne": [1, 0],
"DataListTwo": [0, 1, 0, 0]
}
}
动态列出从Data1开始到未指定的Data-n,我需要停止该List,并且还希望Data1到Data-n中有两个List(DataListOne,DataListTwo)。
我没有得到如何从Data1动态创建List到Data-n以及动态列表中从Data1到Data-n的两个列表(DataListOne,DataListTwo)
请帮助我。
答案 0 :(得分:2)
我为此使用了Json.NET - 它可以让你动态地构建JSON:
using System;
using System.Collections.Generic;
using System.Linq;
using Newtonsoft.Json.Linq;
class Program
{
static void Main(string[] args)
{
var pairs = new List<ListPair>
{
new ListPair
{
DataListOne = { 0, 1 },
DataListTwo = { 1, 0, 0, 0 }
},
new ListPair
{
DataListOne = { 1, 0 },
DataListTwo = { 0, 0, 0, 1 }
},
new ListPair
{
DataListOne = { 1, 0 },
DataListTwo = { 0, 1, 0, 0 }
},
};
JObject json = CreateJson(pairs);
Console.WriteLine(json);
}
static JObject CreateJson(List<ListPair> pairs)
{
return new JObject(pairs.Select(
(pair, index) => new JProperty("Data" + (index + 1),
JObject.FromObject(pair))));
}
class ListPair
{
public List<int> DataListOne, DataListTwo;
public ListPair()
{
DataListOne = new List<int>();
DataListTwo = new List<int>();
}
}
}
另一方面,我认为在JSON中创建一个数组而不是动态生成名称会更清晰。