繁体   English   中英

如何基于同一级别上的另一个值获取JSON数据值?

[英]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_numberroute ,在这种情况下,我会得到错误的数据或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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM