【发布时间】:2017-07-15 19:47:30
【问题描述】:
使用 c# - 我有一个有效的 json 字符串,并且正在尝试将其解析为字典,但正在努力使用语法。
这是我要解析的数据示例:
{
"data": {
"KeyOne": {
"val": "first!"
"fooBar": "invalid data not needed",
},
"anotherKey": {
"val": null
},
"TheThirdKey": {
"val": 999
"fooFooBarBar": "more unneeded data",
},
"KeyKeyKey": {
"val": "super neato something"
},
...
这需要通过一些相当具体的规则移入Dictionary<string, object>:
- 不断变化的元素名称是键('KeyOne'、'anotherKey'...) - 这在数据集中是唯一的
- 对于字典值,我仅需要'
val'的值的字符串或数字或null('first',null,999,...)
所以我的最终字典应该是这样的:
"KeyOne" : "first!"
"anotherKey" : null
"TheThirdKey": 999
"KeyKeyKey" : "super neato something"
我尝试使用不同的变体来解析这个
JsonConvert.DeserializeObject<Dictionary<string, object>
我也尝试过像这样迭代 jToken:
JObject jObject = JObject.Parse(jsonString);
List<JToken> jTokens = jObject["data"].Children().ToList();
foreach (JToken jToken in jTokens) { ...
但是经过这么多小时的尝试,我尴尬地无处可去...希望这是可以使用 Json.NET 执行的操作,但我还没有弄清楚。
想法?
【问题讨论】:
标签: c# json serialization deserialization json-deserialization