我需要创建这个json,我知道我可以使用字符串操作,但我想使用类来实现:
{
"articles":{
"3":{
"id":"3",
"label":"Preambolo",
"leaf":true,
"pathArray":[
{
"id":"1",
"label":"TITOLO I Disposizioni Generali"
},
{
"id":"2",
"label":"Capo I Definizioni e classificazioni generali"
}
],
"path":"TITOLO I Disposizioni Generali::Capo I Definizioni e classificazioni generali"
}
}
}
这是我的代码:
public class PathArrayItem {
public string id {
get;
set;
}
public string label {
get;
set;
}
public PathArrayItem(string id, string label) {
this.id = id;
this.label = label;
}
}
public class item {
public string id {
get;
set;
}
public string label {
get;
set;
}
public bool leaf {
get;
set;
}
public List < PathArrayItem > pathArray {
get;
set;
}
public string path {
get;
set;
}
}
void test() {
List < item > art = new List < item > ();
item item_3 = new item();
item_3.id = "3";
item_3.label = "Preambolo";
item_3.leaf = true;
item_3.pathArray = new List < PathArrayItem > ();
item_3.pathArray.Add(new PathArrayItem("1", "TITOLO I Disposizioni Generali"));
item_3.pathArray.Add(new PathArrayItem("2", "Capo I Definizioni e classificazioni generali"));
item_3.path = "TITOLO I Disposizioni Generali::Capo I Definizioni e classificazioni generali";
art.Add(item_3);
txtOutput.Text = Newtonsoft.Json.JsonConvert.SerializeObject(new {
articles = art
});
}
这是我的代码产生的输出:
{
"articles":[
{
"id":"3",
"label":"Preambolo",
"leaf":true,
"pathArray":[
{
"id":"1",
"label":"TITOLO I Disposizioni Generali"
},
{
"id":"2",
"label":"Capo I Definizioni e classificazioni generali"
}
],
"path":"TITOLO I Disposizioni Generali::Capo I Definizioni e classificazioni generali"
}
]
}
这就是我需要改变的地方:
答案 0 :(得分:1)
您可以使用List<item>
Dictionary<int, item>
Dictionary<int, item> art = new Dictionary<int, item>();
item item_3 = new item();
item_3.id = "3";
item_3.label = "Preambolo";
item_3.leaf = true;
item_3.pathArray = new List<PathArrayItem>();
item_3.pathArray.Add(new PathArrayItem("1", "TITOLO I Disposizioni Generali"));
item_3.pathArray.Add(new PathArrayItem("2", "Capo I Definizioni e classificazioni generali"));
item_3.path = "TITOLO I Disposizioni Generali::Capo I Definizioni e classificazioni generali";
art.Add(3, item_3);
哪个会给你
{"articles":{"3":{"id":"3","label":"Preambolo","leaf":true,"pathArray":[{"id":"1","label":"TITOLO I Disposizioni Generali"},{"id":"2","label":"Capo I Definizioni e classificazioni generali"}],"path":"TITOLO I Disposizioni Generali::Capo I Definizioni e classificazioni generali"}}}