Java loop over Json array?

前端 未结 2 660
遥遥无期
遥遥无期 2020-12-09 08:09

I am trying to loop over the following JSON

{
    \"dataArray\": [{
        \"A\": \"a\",
        \"B\": \"b\",
        \"C\": \"c\"
    }, {
           


        
2条回答
  •  一整个雨季
    2020-12-09 08:49

    In your code the element dataArray is an array of JSON objects, not a JSON object itself. The elements A, B, and C are part of the JSON objects inside the dataArray JSON array.

    You need to iterate over the array

    public static void main(String[] args) throws Exception {
        String jsonStr = "{         \"dataArray\": [{              \"A\": \"a\",                \"B\": \"b\",               \"C\": \"c\"            }, {                \"A\": \"a1\",              \"B\": \"b2\",              \"C\": \"c3\"           }]      }";
    
        JSONObject jsonObj = new JSONObject(jsonStr);
    
        JSONArray c = jsonObj.getJSONArray("dataArray");
        for (int i = 0 ; i < c.length(); i++) {
            JSONObject obj = c.getJSONObject(i);
            String A = obj.getString("A");
            String B = obj.getString("B");
            String C = obj.getString("C");
            System.out.println(A + " " + B + " " + C);
        }
    }
    

    prints

    a b c
    a1 b2 c3
    

    I don't know where msg is coming from in your code snippet.

提交回复
热议问题