如何解析复杂的 JSON 密钥

本文关键字:JSON 密钥 复杂 何解析 | 更新日期: 2023-09-27 18:37:21

如何解析此 JSON 结果:

{
   "Output": [
      {
         "LGA11aAust.DistanceToBorder": "2587.4",
         "LGA11aAust.LGA_NAME": "Hume (C)",
         "SustainabilityVicZones.DistanceToBorder": "2575.6",
         "SustainabilityVicZones.REBATEZN": "Metropolitan Melbourne",
         "LGA11aAust.Status": "T",
         "SustainabilityVicZones.Status": "T",
         "Status": "T",
         "Status.Code": "",
         "Status.Description": "",
         "user_fields": []
      }
   ]
}

我知道JSON.parse方法,但有了它,我无法访问键的值,因为它们中有.

例如:我不能使用Output[0].Status.Code,因为它不将Status.Code视为一个整体,它认为CodeStatus字段下。

请帮忙。

如何解析复杂的 JSON 密钥

你可以使用JSON .NET我最喜欢的JSON序列化程序和反序列化程序。

如何使用:


public class Output
{
   [JsonProperty(PropertyName="LGA11aAust.DistanceToBorder")]
   public decimal DistanceToBorder {get; set;}
   //All the other properties
}

用法:

var deserializedObjects = 
JsonConvert.DeserializeObject<List<Output>>(someJsonResult)

这听起来是个坏主意...但我认为如果你用斜杠转义句点,你可以做到:

JSON.parse('{"a'.b":"c"}')

给:

Object
    a.b: "c"

(在 Chrome 调试器中)

然后,您必须使用引号来访问您的属性,如下所示:

var x = JSON.parse('{"a'.b":"c"}');
console.log(x["a.b"]);

检查这个

动态 JSON 解析器

我找到了问题的答案。

而不是使用 (.)点运算符,我们可以直接将参数的名称写在方括号中。

例如:- 参数"状态代码"的值可以按如下方式访问-

 Output[0]["Status.Code"]