Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Get Length of array 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 :(..

like image 581
Onno Avatar asked Sep 26 '13 10:09

Onno


People also ask

How do you find the number of elements in a JSON array?

You can get the number of elements in an array using yourArray. length .

What is JSON format?

JavaScript Object Notation (JSON) is a standard text-based format for representing structured data based on JavaScript object syntax. It is commonly used for transmitting data in web applications (e.g., sending some data from the server to the client, so it can be displayed on a web page, or vice versa).


Video Answer


1 Answers

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

like image 90
musefan Avatar answered Sep 18 '22 07:09

musefan