【发布时间】:2012-01-05 16:52:09
【问题描述】:
我在下面有一个 JSON 字符串:
{
"data": [
{
//data for first
},
{
//data for second
},
{
//data for third
},
]
}
从这个 JSON 字符串中,我想检索 "data" 元素中的对象数,在本例中为 3。
实现这一目标的最佳方法是什么?我使用了.Length 属性,但它返回了一个我没想到的数字。
我正在使用 C#。
【问题讨论】:
-
我目前正在将 JSON 读入字符串,但我正在研究使用 JSON 解析器。你有什么建议吗?
-
我强烈推荐 Json.NET(参见 james.newtonking.com/pages/json-net.aspx)。另请参阅下面的答案以获取示例用法。
-
.Length将为您提供String中的字符数。要查找对象,您需要使用JavaScriptSerializer或DataContractJsonSerializer反序列化 JSON,这两者都需要兼容的类型。或者,您可以使用许多第三方程序集之一,或者滚动您自己的反序列化器(不推荐),或者最后您可以计算大括号的数量,考虑打开、关闭和嵌套并以此方式推断计数。