我想解析这些Json响应:
{ "MyResponse": { "count": 3,"listTsm": [{ "id": "b90c6218-73c8-30bd-b532-5ccf435da766","simpleid": 1,"name": "vignesh1" },{ "id": "b90c6218-73c8-30bd-b532-5ccf435da766","simpleid": 2,"name": "vignesh2" },"simpleid": 3,"name": "vignesh3" }] } }
我尝试使用SIMPLE JSON解析器,但这对我不起作用:
Object obj = parser.parse(resp); JSONObject jsonObject = (JSONObject) obj; JSONArray response = (JSONArray) jsonObject.get("MyResponse"); //JSONArray arr=new JSONArray(yourJSONresponse); ArrayList<String> list = new ArrayList<String>(); for(int i=0; i<response.size(); i++){ list.add(response.get(i)("name")); }
解决方法
public static void main(String[] args) throws JSONException { String jsonString = "{" + " \"MyResponse\": {" + " \"count\": 3," + " \"listTsm\": [{" + " \"id\": \"b90c6218-73c8-30bd-b532-5ccf435da766\"," + " \"simpleid\": 1," + " \"name\": \"vignesh1\"" + " }," + " {" + " \"id\": \"b90c6218-73c8-30bd-b532-5ccf435da766\"," + " \"simpleid\": 2," + " \"name\": \"vignesh2\"" + " }," + " \"simpleid\": 3," + " \"name\": \"vignesh3\"" + " }]" + " }" + "}"; JSONObject jsonObject = new JSONObject(jsonString); JSONObject myResponse = jsonObject.getJSONObject("MyResponse"); JSONArray tsmresponse = (JSONArray) myResponse.get("listTsm"); ArrayList<String> list = new ArrayList<String>(); for(int i=0; i<tsmresponse.length(); i++){ list.add(tsmresponse.getJSONObject(i).getString("name")); } System.out.println(list); } }
输出:
[vignesh1,vignesh2,vignesh3]
[编辑]
加载json String的其他方法
JSONObject obj= new JSONObject(); JSONObject jsonObject = obj.fromObject(jsonString); ....