加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

如何在JAVA中解析此JSON响应

发布时间:2020-12-15 02:52:15 所属栏目:Java 来源:网络整理
导读:我想解析这些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":
我想解析这些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);
    ....

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读