. net c# /Csharp中的JSON -从对象中获取值
本文关键字:对象 获取 JSON Csharp 中的 net | 更新日期: 2023-09-27 18:09:01
我想解析一些JSON数据。我用的是詹姆斯·牛顿·金的JSON。网络图书馆。
我将JSON字符串解析为一个JObject。这是我正在解析的JSON:
"root": [
{
"date": 1325400000000,
"id": 12313131,
"loc": "en_us",
"name": "New York, NY",
"products": [
{
"@type": "asdf",
"city": "New York - Penn Station, NY (NYP)",
"code": "USA",
}
],
"summary": {
"alert": [],
"end": 1325577000000,
"start": 1325400000000
}
}
]
}
正如你所看到的,它非常复杂。"根"是必需的,否则数据就不能解析为jobobject实例。
JObject o = JObject.Parse(jsonString);
JSON数据非常大。其中有多个具有不同id的项目。我要查找具有指定ID的项目。
问题是,当我试图遍历数据时,它只有一个元素。
KEY: root
VALUE: the other stuff.
那么我如何到达其他的东西并循环遍历里面的东西呢?
别介意……
我刚解出来。
我去掉了后面的[和结尾]。
所以它现在是一个有效的Json对象和键值foreach工作像一个魅力..
foreach (KeyValuePair<String, JToken> d in o)
{
Console.WriteLine(String.Format("Key: {0}; Value: {1}", d.Key, d.Value));
}
华友世纪!
结果证明这只是部分解决方案。因为现在其他部分都没有格式化,只有第一部分是格式化的。其他人不知怎么就消失了……:该死的……
更好的解决方案…我是个十足的白痴……
保留所有内容,只使用JArray ja = JArray.Parse(stringOfJson);
这将为您提供一个数组,其中包含所有可循环的数据…太棒了。:)