我正在嘗試使用Google Places API,我基本上試圖解析JSON而沒有在JSON中的特定位置的密鑰。無鑰匙解析JSON數組的問題
我能夠解析所有數據並根據需要獲取值。 雖然,我遇到了該json中某個部件的問題。
這裏的JSON示例:
{
"html_attributions":[],
"results":[
{
"geometry":{
"location":{
"lat":somelat,
"lng":somelng
}
},
"icon":"someicon",
"id":"someid",
"name":"somename",
"reference":"some_image_reference",
"types":[
"gas_station",
"establishment"
],
"vicinity":"Some Address"
}
],
"status":"OK"
}
現在,這裏的代碼片段獲得從那裏我有麻煩的值:
JSONObject mainJSONObject = new JSONObject(mAppUtils.loadJSON(gasURL));
JSONArray mainJSONArray = mainJSONObject.getJSONArray("results");
for(int i = 0 ; i<mainJSONArray.length();i++){
JSONObject obj = mainJSONArray.getJSONObject(i);
if(obj!=null){
String value = obj.getString("types");
Log.d("ARRAY VALUE : ", value);
}
}
這裏,代碼工作完美,我能夠獲取數據。
主要問題是結果格式。這裏有一個例子:
06-23 22:03:51.762: D/ARRAY VALUE :(8074): ["car_repair","gas_station","establishment"]
06-23 22:03:51.782: D/ARRAY VALUE :(8074): ["convenience_store","food","store","car_repair","gas_station","establishment"]
06-23 22:03:51.782: D/ARRAY VALUE :(8074): ["gas_station","establishment"]
正如你所看到的,結果我以這種形式獲得:[「car_repair」,「gas_station」,「建立」]
有沒有更好的辦法解析上述JSON或是否有任何方式我可以取代從 字符和括號[「car_repair」,「gas_station」,「建立」]
到就像:
car_repair,gas_station,建立,這樣我就可以在任何其他視圖的textview中使用它,而不顯示這些大括號和其他字符。
編輯:
JSONObject mainJSONObject = new JSONObject(mAppUtils.loadJSON(gasURL));
JSONArray mainJSONArray = mainJSONObject.getJSONArray("results");
for(int j=0;j<mainJSONArray.length();j++)
{
JSONObject jsonObject = mainJSONArray.getJSONObject(j);
JSONArray jsonArray = jsonObject.getJSONArray("types");
for(int ju=0;ju<jsonArray.length();ju++)
{
value = jsonArray.getString(ju);
Log.d("PLACE TYPES ARRAY VALUE : ", value);
}
在此之後,這裏是我得到的結果是:
06-23 22:53:44.928: D/PLACE TYPES ARRAY VALUE :(16322): car_repair
06-23 22:53:44.928: D/PLACE TYPES ARRAY VALUE :(16322): gas_station
06-23 22:53:44.928: D/PLACE TYPES ARRAY VALUE :(16322): establishment
06-23 22:53:44.928: D/PLACE TYPES ARRAY VALUE :(16322): convenience_store
06-23 22:53:44.938: D/PLACE TYPES ARRAY VALUE :(16322): food
06-23 22:53:44.938: D/PLACE TYPES ARRAY VALUE :(16322): store
06-23 22:53:44.938: D/PLACE TYPES ARRAY VALUE :(16322): car_repair
06-23 22:53:44.938: D/PLACE TYPES ARRAY VALUE :(16322): gas_station
06-23 22:53:44.938: D/PLACE TYPES ARRAY VALUE :(16322): establishment
06-23 22:53:44.938: D/PLACE TYPES ARRAY VALUE :(16322): gas_station
06-23 22:53:44.938: D/PLACE TYPES ARRAY VALUE :(16322): establishment
但問題是,如何從他們的尊敬JSON數組分隔值。
任何幫助將非常感激..謝謝..:)
' 「類型」:['是一個JSONArray – Raghunandan
我明白但我也試圖使用JSONArray,並且我確實得到了結果,但對於某些reaso n,那麼我做 JSONArray typesJsonArray = obj.getJSONArray(「types」); String value = typesJsonArray.getString(i); 它給了我錯誤。 – mike20132013
和錯誤是? – Raghunandan