我正在嘗試從我的 json(作為 Double)中獲取 LAT/LNG 值,如下所示:
{
"placeNames": [
{
"name": "Test",
"lat": "0",
"lon": "0"
},
{
"name": "üsküdar Ba?larba?? Yolu",
"lat": "1",
"lon": "2"
},
{
"name": "?aml?ca",
"lat": "3",
"lon": "4"
}
]
}
并在此處看到的谷歌地圖中放置標記:
JSONParser jsonParser = new JSONParser();
try {
JSONObject jsonObject = (JSONObject) jsonParser.parse(GetJson(getContext())); //TODO: READ JSON FILE
JSONArray lang = (JSONArray) jsonObject.get("placeNames");
for (int i = 0; i < lang.size(); i ) {
JSONObject explrObject = (JSONObject) lang.get(i);
String PlaceName = (String) explrObject.get("name");
MarkerOptions marker3 = new MarkerOptions();
Double LAT = ((Number) explrObject.get("lat")).doubleValue();
Double LNG = ((Number) explrObject.get("lon")).doubleValue();
marker3.position(new LatLng(LAT, LNG)).title(PlaceName);
}
}
我遇到的問題是 LNG/LAT 值似乎以字串形式出現,即使它們是我的 JSON 檔案中的數字,任何幫助表示贊賞。:)
uj5u.com熱心網友回復:
也許你可以試試:
Double LAT = Double.parseDouble(explrObject.getString("lat"));
或者
Double LAT = Double.parseDouble((String) explrObject.get("lat"));
uj5u.com熱心網友回復:
以下是有效的 JSON 語法,其中包含double/ float可用于將 json 構建為的值,
{
"placeNames":[
{
"name":"Test",
"lat":29.470237,
"lon":107.722125
}
]
}
此外,如果有任何疑問,您可以參考此網站在線驗證您的 JSON 語法。而且,您上面的 JSON 決議器邏輯將處理此 JSON 資料。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/388485.html
上一篇:JSONArray拋出一個JSONArraytextmuststartwith'['at1[character2line1]例外
