C# C JSON变量名保留

C# C JSON变量名保留,c#,json.net,C#,Json.net,我正在尝试访问以下JSON的节点: { "Nodes": [ "ID1", "ID2", "ID3", "IDxx" ], "Results": { "ID1": { "ID2": { "value1": "example1", "value2": "exempleHexa" }, "ID3": {... 以下几行: var json = JsonConvert.DeserializeObject<dy

我正在尝试访问以下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();
但我得到了这个错误信息:

消息=无法转换类型 “Newtonsoft.Json.Linq.JArray”到“Newtonsoft.Json.Linq.JObject”

有没有一种方法可以在不修改JSON数据的情况下访问此变量?

节点是JArray,而不是JObject,因此无法将其转换为JArray

试试这个:

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

你们能不能比编译器有点困惑更具体一点?可能会显示错误消息?为什么会暂停?我已经回答了。