Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么可以';我不能从Android上的JSON文档中获取特定对象吗?_Android_Json_Polyline - Fatal编程技术网

为什么可以';我不能从Android上的JSON文档中获取特定对象吗?

为什么可以';我不能从Android上的JSON文档中获取特定对象吗?,android,json,polyline,Android,Json,Polyline,我想从JSONObject获取多段线,但下面的代码不起作用 JSONObject poly = steps.getJSONObject("polyline"); 我得到这个错误: org.json.JSONException:多段线没有值 这个代码很好用 JSONArray legs = routes.getJSONArray("legs"); JSONObject steps = legs.getJSONObject(0); JSONObject endLoc = steps.getJSO

我想从
JSONObject
获取多段线,但下面的代码不起作用

JSONObject poly = steps.getJSONObject("polyline"); 
我得到这个错误:

org.json.JSONException:多段线没有值

这个代码很好用

JSONArray legs = routes.getJSONArray("legs");
JSONObject steps = legs.getJSONObject(0);
JSONObject endLoc = steps.getJSONObject("end_location");
JSONObject duration = steps.getJSONObject("duration");
传入的JSON文档是

{
  "duration": {
    "value": 363,
    "text": "6 mins"
  },
  "distance": {
    "value": 506,
    "text": "0.5 km"
  },
  "end_location": {
    "lng": 11.48949,
    "lat": 53.52159
  },
  "start_address": "PCH30, 19079 Banzkow, Germany",
  "end_address": "PCH30, 19079 Banzkow, Germany",
  "start_location": {
    "lng": 11.48189,
    "lat": 53.52114
  },
  "via_waypoint": [

  ],
  "steps": [
    {
      "html_instructions": "Head <b>east<\/b> on <b>PCH30<\/b><div style=\"font-size:0.9em\">Destination will be on the left<\/div>",
      "duration": {
        "value": 363,
        "text": "6 mins"
      },
      "distance": {
        "value": 506,
        "text": "0.5 km"
      },
      "end_location": {
        "lng": 11.48949,
        "lat": 53.52159
      },
      "polyline": {
        "points": "cjteIypaeAGqBKaEGaBC{@A_AM{EMwGMwFIsDC}@"
      },
      "travel_mode": "WALKING",
      "start_location": {
        "lng": 11.48189,
        "lat": 53.52114
      }
    }
  ]
}

除非您显示的JSON不正确,否则您需要做的是

JSONArray steps = routes.getJSONArray("steps");
JSONObject obj = steps.getJSONObject(0);
JSONObject poly = obj.getJSONObject("polyline");  

我认为您当前的代码bez中还存在一些其他问题,因为您在这里共享的代码非常适合从json字符串中获取多段线值。
JSONArray steps = routes.getJSONArray("steps");
JSONObject obj = steps.getJSONObject(0);
JSONObject poly = obj.getJSONObject("polyline");