Android Parse JSON数组
如何解析JSON ARRAY以获取没有[]和“”的数据
这是json
"formattedAddress": [ "23, Damansara - Puchong Hwy (Bandar Puchong Jaya)", "47100 Puchong Batu Dua Belas, Selangor", "Malaysia" ]
我的代码:
poi.setFormattedAddress(jsonArray.getJSONObject(i).getJSONObject("location").getJSONArray("formattedAddress").toString());
输出:[“23,Damansara – Puchong Hwy(Bandar Puchong Jaya)”,“47100 Puchong Batu Dua Belas,雪兰莪”,“马来西亚”]
我只想要数据。 如:
23,Damansara – Puchong Hwy(Bandar Puchong Jaya),47100 Puchong Batu Dua Belas,Selangor,Malaysia
谢谢
使用JSONArray#join()
连接元素。 查看JSONArray文档以获取更多信息。
poi.setFormattedAddress( jsonArray.getJSONObject(i).getJSONObject("location") .getJSONArray("formattedAddress").join(", ")); // passing ", " as the separator
目前还不清楚引用是否是输入JSON字符串的一部分。 如果它们出现在您的连接中,您可以使用String#replace()
方法轻松删除它们。
System.out.println(jsonArray.join(", ").replace("\"", ""));
尝试这样的事情:
public String getFormattedAddressFromArray(JSONArray array) { List strings = new ArrayList (); try { for (int i = 0; i < array.length(); i++) { strings.add(array.getString(i)); } } catch (JSONException e) { e.printStackTrace(); } return TextUtils.join(", ", strings); }
使用JSONArray.join():
getJSONArray("formattedAddress").join(","));