获取数组JSON.Net的长度
如何获得在C#中使用json.net获得的JSON数组的长度? 发送SOAP调用后,我得到一个JSON字符串作为答案,我使用json.net来解析它。
我得到的json的例子:
{"JSONObject": [ {"Id":"ThisIsMyId","Value":"ThisIsMyValue"}, {"Id":"ThisIsMyId2","Value":"ThisIsMyValue2"} ]}
我解析它并在控制台中写入:
var test = JObject.Parse (json); Console.WriteLine ("Id: {0} Value: {1}", (string)test["JSONObject"][0]["Id"], (string)test["JSONObject"][0]["Value"]);
这就像一个咒语,只是我不知道JSONObject
的长度,但我需要在for循环中进行。 我只是不知道如何获得test["JSONObject"]
的长度test["JSONObject"]
但是像test["JSONObject"].Length
类的东西test["JSONObject"].Length
太容易我想:( ..
您可以将对象JArray
转换为JArray
,然后使用Count
属性,如下所示:
JArray items = (JArray)test["JSONObject"]; int length = items.Count;
然后,您可以按如下方式循环项目:
for (int i = 0; i < items.Count; i++) { var item = (JObject)items[i]; //do something with item }
根据Onno(OP),您还可以使用以下内容:
int length = test["JSONObject"].Count();
但是,我没有亲自确认这会起作用
您可以使用以下行来获取.Net( JArray
)中JSON数组的长度。
int length = ((JArray)test["jsonObject"]).Count;