C# 使用JSON转换器转换此JSON格式
我正在生成下面的JSON格式,有人能告诉我如何将其转换回我的类吗C# 使用JSON转换器转换此JSON格式,c#,json,C#,Json,我正在生成下面的JSON格式,有人能告诉我如何将其转换回我的类吗 ["Node1",{"DictionaryNode1_1":"NodeValue1","DictionaryNode1_2":"NodeValue2","DictionaryNode1_3":"NodeValue3"},["Node11",{"DictionaryNode11_1":"NodeValue1","DictionaryNode11_2":"NodeValue2","DictionaryNode11_3":"NodeVa
["Node1",{"DictionaryNode1_1":"NodeValue1","DictionaryNode1_2":"NodeValue2","DictionaryNode1_3":"NodeValue3"},["Node11",{"DictionaryNode11_1":"NodeValue1","DictionaryNode11_2":"NodeValue2","DictionaryNode11_3":"NodeValue3"},"Node12",null,["Node121",null,["Node1211",{"DictionaryNode1211_1":"NodeValue1","DictionaryNode1211_2":"NodeValue2","DictionaryNode1211_3":"NodeValue3"}]]],"Node2",null,["Node21","Node22"]]
如何使用下面的转换器方法实现这一点
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
{
}
下面是要转换的类
[JsonConverter(typeof(TreeNodeConverter))]
public class SubTreeNode : TreeNode
{
private Dictionary<string, string> _dicAttr;
public Dictionary<string,string> dicAttr
{
get
{
return _dicAttr;
}
set
{
_dicAttr = value;
}
}
}
[JsonConverter(typeof(TreeNodeConverter))]
公共类子屏幕:TreeNode
{
私人词典;
公共词典
{
得到
{
返回指示;
}
设置
{
_dicAttr=数值;
}
}
}
您可以使用来完成JSON序列化字符串上的几乎所有操作。对于您的示例,如果我理解正确,您只需要将字符串反序列化为字典
(或字典
…)类型,因此这里有一些主题需要考虑:-
-
- 以下是Json.net中的示例,反序列化为:
您应该查看JSON.NET。它有一个非常好的文档,它肯定会有助于满足您使用json进行操作的所有需求 这里是链接 这里是
string json = @"[
{
'Title': 'Json.NET is awesome!',
'Author': {
'Name': 'James Newton-King',
'Twitter': '@JamesNK',
'Picture': '/jamesnk.png'
},
'Date': '2013-01-23T19:30:00',
'BodyHtml': '<h3>Title!</h3>\r\n<p>Content!</p>'
}
]";
dynamic blogPosts = JArray.Parse(json);
dynamic blogPost = blogPosts[0];
string title = blogPost.Title;
Console.WriteLine(title);
// Json.NET is awesome!
string author = blogPost.Author.Name;
Console.WriteLine(author);
// James Newton-King
DateTime postDate = blogPost.Date;
Console.WriteLine(postDate);
// 23/01/2013 7:30:00 p.m.