2017-09-28 19 views
0

我试图从API响应的信息访问JSON的领域使用Groovy遇到问题使用Groovy

我想要去下的“资源”键存储的信息。

沿东西的body.measures.02线:00:00:02:06:70.res

想不通有没有抛出一个NullPointerException访问此信息。

"body":[ { 
    "_id":"70:ee:50:01:fe:96", 
    "place":{ 
     "location":[ 
      -70.863189, 
      42.273936 
     ], 
     "altitude":26.154942, 
     "timezone":"America\/New_York" 
    }, 
    "mark":12, 
    "measures":{ 
     "02:00:00:02:06:70":{ 
      "res":{ 
       "1506611038":[ 
       22, 
       66 
       ] 
      }, 
      "type":[ 
       "temperature", 
       "humidity" 
      ] 
     }, 
     "06:00:00:01:97:28":{ 
      "wind_strength":15, 
      "wind_angle":343, 
      "gust_strength":29, 
      "gust_angle":301, 
      "wind_timeutc":1506611083 
     }, 
     "70:ee:50:01:fe:96":{ 
      "res":{ 
       "1506611086":[ 
       1007.4 
       ] 
      }, 
      "type":[ 
       "pressure" 
      ] 
     } 
    }, 
    "modules":[ 
     "02:00:00:02:06:70", 
     "06:00:00:01:97:28" 
    ], 
    "module_types":{ 
     "02:00:00:02:06:70":"NAModule1", 
     "06:00:00:01:97:28":"NAModule2" 
    } 
    } 






], 
"status":"ok", 
"time_exec":0.017483949661255, 
"time_server":1506611446 
} 
+0

你到目前为止尝试过什么? –

回答

0

body是在你的情况下,一个元素的数组,所以你要做的body[0].measures.'02:00:00:02:06:70'.res,E。 G。像

new groovy.json.JsonSlurper().parseText('''{"body":[ { 
    "_id":"70:ee:50:01:fe:96", 
    "place":{ 
     "location":[ 
      -70.863189, 
      42.273936 
     ], 
     "altitude":26.154942, 
     "timezone":"America/New_York" 
    }, 
    "mark":12, 
    "measures":{ 
     "02:00:00:02:06:70":{ 
      "res":{ 
       "1506611038":[ 
       22, 
       66 
       ] 
      }, 
      "type":[ 
       "temperature", 
       "humidity" 
      ] 
     }, 
     "06:00:00:01:97:28":{ 
      "wind_strength":15, 
      "wind_angle":343, 
      "gust_strength":29, 
      "gust_angle":301, 
      "wind_timeutc":1506611083 
     }, 
     "70:ee:50:01:fe:96":{ 
      "res":{ 
       "1506611086":[ 
       1007.4 
       ] 
      }, 
      "type":[ 
       "pressure" 
      ] 
     } 
    }, 
    "modules":[ 
     "02:00:00:02:06:70", 
     "06:00:00:01:97:28" 
    ], 
    "module_types":{ 
     "02:00:00:02:06:70":"NAModule1", 
     "06:00:00:01:97:28":"NAModule2" 
    } 
    } 






], 
"status":"ok", 
"time_exec":0.017483949661255, 
"time_server":1506611446 
}}''').body[0].measures.'02:00:00:02:06:70'.res 
+0

我试过这个,没有运气。仍然在'res'字段处获得空错误 – Maz

+0

然后,您需要发布完整的代码。我发布了你我的工作正常。 – Vampire