C#展平JSON结构

我在C#中有一个json对象(表示为Newtonsoft.Json.Linq.JObject对象),我需要将其展平为字典。让我向您展示我的意思的示例:

{

"name": "test",

"father": {

"name": "test2"

"age": 13,

"dog": {

"color": "brown"

}

}

}

这将产生一个包含以下键值对的字典:

["name"] == "test",

["father.name"] == "test2",

["father.age"] == 13,

["father.dog.color"] == "brown"

我怎样才能做到这一点?

回答:

JObject jsonObject=JObject.Parse(theJsonString);

IEnumerable<JToken> jTokens = jsonObject.Descendants().Where(p => p.Count() == 0);

Dictionary<string, string> results = jTokens.Aggregate(new Dictionary<string, string>(), (properties, jToken) =>

{

properties.Add(jToken.Path, jToken.ToString());

return properties;

});

我有将嵌套的json结构展平为字典对象的相同要求。在这里找到解决方案。

以上是 C#展平JSON结构 的全部内容, 来源链接: utcz.com/qa/398731.html

回到顶部