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(","));