请确保您的响应字符串格式正确,如果是,请尝试以下操作:
try { ArrayList<String> list = new ArrayList<String>(); JSONObject json = new JSONObject(strResponse); JSONArray array = json.getJSONArray("GetCitiesResult"); for (int i = 0; i < array.length(); i++) { list.add(array.getString(i)); } } catch (Exception e) { e.printStackTrace(); }
这段代码完成了这个伎俩
List<String> list3 = json.getJSONArray("GetCitiesResult").toList() .stream() .map(o -> (String) o) .collect(Collectors.toList()); list3.forEach(System.out::println);
并打印:
1-Vizag 2-Hyderbad 3-Pune 4-Chennai 9-123 11-Rohatash 12-gopi 13-Rohatash 14-Rohatash 10-123
好的,你必须先了解一些事情 的 JSON 强>
Json对象是 {// some attribute}
{// some attribute}
Json Array是 [// some attribute]
[// some attribute]
现在你有
{"GetCitiesResult":["1-Vizag","2-Hyderbad", "3-Pune","4-Chennai","9-123","11-Rohatash", "12-gopi","13-Rohatash","14-Rohatash","10-123"]}
那意味着你有JSON数组 的 GetCitiesResult 强>
哪个有String数组
现在尝试一下
JSONObject obj = new JSONObject(data); JSONArray loadeddata = new JSONArray(obj.getString("GetCitiesResult")); for (int i = 0; i <DoctorData.length(); i++) {// what to do here}
哪里 的 数据 强> 是你的字符串
只需使用Gson库,您就可以将json响应转换为pojo类。
使用以下链接复制json字符串以创建pojo结构: http://www.jsonschema2pojo.org/
Gson gson = new Gson(); GetCitiesResult citiesResult = gson.fromJson(responseString, GetCitiesResult.class);
它会给 GetCitiesResult 在该对象中的对象,您可以得到您的响应列表
GetCitiesResult
public List<String> getGetCitiesResult() { return getCitiesResult; }
只打电话 citiesResult.getGetCitiesResult(); 它会列出一个城市列表。
citiesResult.getGetCitiesResult();
您也可以使用此库 com.squareup.retrofit2:converter-gson:2.1.0
com.squareup.retrofit2:converter-gson:2.1.0
下面是代码:
private void parse(String response) { try { List<String> stringList = new ArrayList<>(); JSONObject jsonObject = new JSONObject(response); JSONArray jsonArray = jsonObject.getJSONArray("GetCitiesResult"); for (int i=0; i <jsonArray.length(); i++){ stringList.add(jsonArray.getString(i)); } Log.d ("asd", "--------"+ stringList); } catch (Exception e) { e.printStackTrace(); } }
希望它会有所帮助。
输出是打印列表时:
--------[1-Vizag, 2-Hyderbad, 3-Pune, 4-Chennai, 9-123, 11-Rohatash, 12-gopi, 13-Rohatash, 14-Rohatash, 10-123]