我正在尝试解析在调用其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
。
我需要的是使用long_name
获取postal_code
级别Xpath
的方法(因为我使用Pentaho来解析它,这就是它的工作方式)。
提前致谢。
答案 0 :(得分:1)
您可能需要几个JSON输入步骤,一个用于获取单个地址组件(以及内部类型),另一个用于获取long_name:
Filter Rows步骤将按类型选择正确的一个,然后最后一个JSON Input将从您想要的那个中获取字段。以下是您输入示例的要点:
https://gist.github.com/mattyb149/0ceea5d7e33ae86782e0
如果您有任何疑问,问题等,请告诉我。干杯!