Deserialize json with json.net c#

c#, json.net

Solution

You could use an anonymous class:

T DeserializeJson<T>(string s, T templateObj) {
    return JsonConvert.Deserialize<T>(s);
}

and then in your code:

return DeserializeJson(jsonString, new { treeNode = new MyObject[0] }).treeNode;

Problem

am new to Json so a little green. I have a Rest Based Service that returns a json string; ``` {"treeNode":[{"id":"U-2905","pid":"R","userId":"2905"}, {"id":"U-2905","pid":"R","userId":"2905"}]} ``` I have been playing with the Json.net and trying to Deserialize the string into Objects etc. I wrote an extention method to help. ``` public static T DeserializeFromJSON<T>(this Stream jsonStream, Type objectType) { T result; using (StreamReader reader = new StreamReader(jsonStream)) { JsonSerializer serializer = new JsonSerializer(); try { result = (T)serializer.Deserialize(reader, objectType); } catch (Exception e) { throw; } } return result; } ``` I was expecting an array of treeNode[] objects. But its seems that I can only deserialize correctly if treeNode[] property of another object. ``` public class treeNode { public string id { get; set; } public string pid { get; set; } public string userId { get; set; } } ``` I there a way to to just get an straight array from the deserialization ? Cheers

Original source