这个问题是this ...的延续,而不是改变它,我在这里问一个新问题。 我需要的json格式是
{
"nodes": {
"1": {
"2": {
"attriba": "a2",
"label": "2",
"attribc": false
},
"3": {
"attriba": "a3",
"label": "3",
"attribc": false
}
},
"6": {
"4": {
"attriba": "none",
"label": "4",
"attribc": false
},
"5": {
"attriba": "none",
"label": "5",
"attribc": false
}
}
}
}
现在通常我会创建类并用数据填充它们并调用“Newtonsoft.Json.JsonConvert.SerializeObject”来获取所需的json字符串。
但在这种情况下格式是这样的,我无法弄清楚类结构..
根据我上一个问题的顶级课程将如下所示..
public class Response
{
[JsonProperty("nodes")]
public Dictionary<string, Node> Nodes { get; set; }
}
底层......
public class Nodedata
{
[JsonProperty("attriba")]
public string Attriba { get; set; }
[JsonProperty("attribb")]
public string Attribb { get; set; }
[JsonProperty("label")]
public string Label { get; set; }
[JsonProperty("attribc")]
public bool Attribc { get; set; }
}
但是,我如何管理节点类(值“1”和“6”),它再次没有键值并且有一个Nodedata对象列表..
真诚地感谢任何帮助。
由于
答案 0 :(得分:0)
节点1和6的类将是Dictionary<string, Object>
你的2,3,4和5课程将按照你的设计。
你应该得到像
这样的东西BottomNode node1 = new BottomNode("a2", 2, false);
BottomNode node2 = new BottomNode("a3", 3, false);
BottomNode node3 = new BottomNode("none", 4, false);
BottomNode node4 = new BottomNode("none", 5, false);
Dictionary<string, Object> dic1 = new Dictionary<string, Object>();
Dictionary<string, Object> dic6 = new Dictionary<string, Object>();
dic1.Add("2", node1);
dic1.Add("3", node2);
dic6.Add("4", node3);
dic6.Add("5", node4);
Dictionary<string, Object> nodes = new Dictionary<string, Object>();
nodes.Add("1", dic1);
nodes.Add("6", dic6);