如何解析复杂的 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
视为一个整体,它认为Code
在Status
字段下。
请帮忙。
你可以使用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"]