[英]How to get JSON data value based on another value on the same level?
我正在尝试解析调用其API时提供的Google Places JSON。 我的问题是我需要单独获取地址数据。
例如:
{
"html_attributions" : [],
"result" : {
"address_components" : [
{
"long_name" : "48",
"short_name" : "48",
"types" : [ "street_number" ]
},
{
"long_name" : "Pirrama Road",
"short_name" : "Pirrama Road",
"types" : [ "route" ]
},
{
"long_name" : "Pyrmont",
"short_name" : "Pyrmont",
"types" : [ "locality", "political" ]
},
{
"long_name" : "NSW",
"short_name" : "NSW",
"types" : [ "administrative_area_level_1", "political" ]
},
{
"long_name" : "AU",
"short_name" : "AU",
"types" : [ "country", "political" ]
},
{
"long_name" : "2009",
"short_name" : "2009",
"types" : [ "postal_code" ]
}
], ......
我需要获取postal_code
,所以我可以使用Jason Path $.result.address_components[5].long_name
,但是有时Json没有street_number
或route
,在这种情况下,我会得到错误的数据或null
。
我需要的是一种使用Xpath
来获取long_name
级别级别为postal_code
方法(因为我使用Pentaho来解析它,这就是它的工作方式)。
提前致谢。
您可能需要几个JSON输入步骤,一个步骤获取单个地址组件(以及内部的类型),一个步骤获取long_name:
Filter Rows步骤将按类型选择正确的字段,然后最后的JSON Input将为您提供所需字段的字段。 这是您的示例输入的要点:
https://gist.github.com/mattyb149/0ceea5d7e33ae86782e0
如果您有任何疑问,问题等,请告诉我。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.