. 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.

那么我如何到达其他的东西并循环遍历里面的东西呢?

. net c# /Csharp中的JSON -从对象中获取值

别介意……

我刚解出来。

我去掉了后面的[和结尾]。

所以它现在是一个有效的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);

这将为您提供一个数组,其中包含所有可循环的数据…太棒了。:)