gpt4 book ai didi

java - 无法解析 google place JSON 响应 - org.json.JSONException

转载 作者:行者123 更新时间:2023-12-02 04:34:52 24 4
gpt4 key购买 nike

我收到了来自 Google Places API 的 JSON 响应,我正在尝试解析该响应。但我收到了 org.json.JSONException。

这是我的 JSON 响应。

https://maps.googleapis.com/maps/api/place/details/json?placeid=ChIJbf6hrtZ2AjoRwUPd_nrhVjM&key=AIzaSyBWKQHS39-SYUNxEEAry1FxrMET2NwhqxE

我正在使用以下代码来检索格式化的地址。

  try {

Log.e("test-ttt", jsonResults.toString());

// Create a JSON object hierarchy from the results
JSONObject jsonObj = new JSONObject(jsonResults.toString());

JSONObject placeDetailsJsonArray = jsonObj.getJSONObject("result");

// Extract the Place descriptions from the results
placeDetails = "NAME: " + placeDetailsJsonArray.getJSONObject("name").toString();
placeDetails += "ADDRESS: " + placeDetailsJsonArray.getJSONObject("formatted_address").toString();


} catch (JSONException e) {
Log.e(TAG, "Cannot process JSON results", e);
}

这是我收到的 logcat 异常:

org.json.JSONException: Value South Point School at name of type java.lang.String cannot be converted to JSONObject
at org.json.JSON.typeMismatch(JSON.java:100)
at org.json.JSONObject.getJSONObject(JSONObject.java:578)
at manasthemarvel.triptimeline.PlaceAPI.getPlaceDetails(PlaceAPI.java:78)
at manasthemarvel.triptimeline.placeInfo.doInBackground(placeInfo.java:14)
at manasthemarvel.triptimeline.placeInfo.doInBackground(placeInfo.java:10)
at android.os.AsyncTask$2.call(AsyncTask.java:288)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:841)


// Extract the Place descriptions from the results
placeDetails = "NAME: " + placeDetailsJsonArray.getJSONObject("name").toString();
placeDetails += "ADDRESS: " + placeDetailsJsonArray.getJSONObject("formatted_address").toString();

我在这里做错了什么?

最佳答案

您将“名称”和“formatted_address”视为 JSONObject,而不是普通的键/值对。

试试这个:

JSONObject placeDetailsJsonArray = jsonObj.getJSONObject("result");
String name = placeDetailsJsonArray.getString("name");

关于java - 无法解析 google place JSON 响应 - org.json.JSONException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30965560/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com