我有JSON数据,其中有一个名为“References”的数组元素。 这个“References”数组还包含类似TypeName,Id和元素Called Attributes的元素,这些元素还包含名称和类型等元素。 TypeName的可能值是Employees,Offices,Hardware etc
"References": [
{
"TypeName": "Employees",
"Attributes": {
"Type": "9t59c6ghn1l4y81nvu7a",
"Name": "WH-3",
}
},
{
"TypeName": "Hardware",
"Attributes": {
"Name": "rz2j8c85kbl3add5vmb5",
}
},
{
"TypeName": "Organization",
"Attributes": {
"Type": "4qww1im1o6w4xm4ehlkm",
"Name": "Training"
}
},
]
我想提取数组“References”的元素TypeName的路径。 例如:我想提取TypeName组织的路径,并进一步提取该TypeName的属性。
谢谢!
答案 0 :(得分:0)
您可以轻松地提取组织属性,但是您的JSON不是有效的JSON,因此您需要先修复它,具体取决于您正在使用的解析器的宽容程度。整个文档需要在根目录下有一个对象或数组,并且在文档中某些对象的最后一个属性之后还有额外的逗号。这是一份固定文件:
{
"References": [
{
"TypeName": "Employees",
"Attributes": {
"Type": "9t59c6ghn1l4y81nvu7a",
"Name": "WH-3"
}
},
{
"TypeName": "Hardware",
"Attributes": {
"Name": "rz2j8c85kbl3add5vmb5"
}
},
{
"TypeName": "Organization",
"Attributes": {
"Type": "4qww1im1o6w4xm4ehlkm",
"Name": "Training"
}
}
]
}
要获取组织属性,您可以使用以下JSON路径
$..References[?(@.TypeName=='Organization')].Attributes
我已使用在线JSON查询工具对此进行了测试:http://www.jsonquerytool.com/sample/jsonpathwhereselect