Monzer Yaghi Monzer Yaghi - 4 months ago 10
JSON Question

C# Parsing Json Array

I'm new to C#, I'm calling a service that is returning an encoded json response :

{"GetResult":["123"]}


In my code, I want to get 123. I wrote the following :

String response_after_parsing = JObject.Parse(response).SelectToken("GetResult").ToString();
Console.WriteLine(response_after_parsing);


The string that's being displayed in the console is the following :

["123"]


I've searched about this issue but I couldn't find the solution, any help please ?

Answer

The GetResult is an array so you need to access individual items within it:

var response_after_parsing = JObject.Parse(response).SelectToken("GetResult")[0].ToString();

Alternatively you may use JsonConvert.DeserializeObject() but again access individual items within the array:

var response_after_parsing = ((dynamic)JsonConvert.DeserializeObject(response)).GetResult[0];