我想解析以下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" }, { "id": "b90c6218-73c8-30bd-b532-5ccf435da766", "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\"" + " }," + " {" + " \"id\": \"b90c6218-73c8-30bd-b532-5ccf435da766\"," + " \"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字符串的其他方法
JSONObject obj= new JSONObject(); JSONObject jsonObject = obj.fromObject(jsonString); ....