保留C#JSON变量名称

时间:2018-03-22 16:46:14

标签: c# json.net

我试图访问节点"节点"以下是JSON:

{
  "Nodes": [ "ID1", "ID2", "ID3", "IDxx" ],
  "Results": {
    "ID1": {
      "ID2": {
        "value1": "example1",
        "value2": "exempleHexa"
      },
      "ID3": {...

这些行:

 var json = JsonConvert.DeserializeObject<dynamic>(JsonData);
 var MyNodes = ((JObject)json.Nodes).Children().ToArray();

但我收到此错误消息:

  

消息=无法转换类型   &#39; Newtonsoft.Json.Linq.JArray&#39;到&#39; Newtonsoft.Json.Linq.JObject&#39;

有没有办法在不修改JSON数据的情况下访问此变量?

1 个答案:

答案 0 :(得分:2)

NodesJArray,而不是JObject,因此无法按原样投放。

试试这个:

        var json = JsonConvert.DeserializeObject<dynamic>(JsonData);
        var nodes = ((JArray)json.Nodes).ToObject<string[]>();