c# jarray 长度,获取数组JSON.Net的长度

How can I get the length of a JSON Array I get using json.net in C#? After sending a SOAP call I get a JSON string as answer, I use json.net to parse it.

Example of the json I got:

{"JSONObject": [

{"Id":"ThisIsMyId","Value":"ThisIsMyValue"},

{"Id":"ThisIsMyId2","Value":"ThisIsMyValue2"}

]}

And I parse it and write it in console:

var test = JObject.Parse (json);

Console.WriteLine ("Id: {0} Value: {1}", (string)test["JSONObject"][0]["Id"], (string)test["JSONObject"][0]["Value"]);

This works like a spell, only I don't know the length of the JSONObject, but I need to do it in a for loop. I only have no idea how I can get the length of test["JSONObject"]

But something like test["JSONObject"].Length would be too easy I guess :(..

解决方案

You can cast the object to a JArray and then use the Count property, like so:

JArray items = (JArray)test["JSONObject"];

int length = items.Count;

You can then loop the items as follows:

for (int i = 0; i < items.Count; i++)

{

var item = (JObject)items[i];

//do something with item

}

According to Onno (OP), you can also use the following:

int length = test["JSONObject"].Count();

However, I have not personally confirmed that this will work

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值