获取JSON对象或Map的参数〈字符串,字符串>

wsxa1bj1  于 2023-02-26  发布在  其他
关注(0)|答案(1)|浏览(166)

如何获取"firstname"、"lastname"等元素。如果它们采用以下格式:

{     "count" : 2,

     "elements" : [

         {             "firstname" : "XXXXXXXXXX",             "lastname" : "A22"         },

         {             "firstname" : "YYYYYYYYYY",             "lastname" : "A23"         }     

]

}

如何得到元素[0]和元素[1]?这是因为我想验证每个参数中的内容。

  • 重要
    我的元素来自一个Json格式的API,我解析成Map〈String,String〉,所以我只需要一个Json格式或Map〈String,String〉格式的解决方案。
    我试着使用userDetails. get("elements")[1]和userDetails. get("elements").[something],但是任何东西都起作用了,而且我在自动完成中没有得到任何东西...
k97glaaz

k97glaaz1#

您可以使用JSON库,例如json-simple

JSONParser parser = new JSONParser();
    String jsonData = "{\"count\":2,\"elements\":[{\"firstname\":\"XXXXXXXXXX\",\"lastname\":\"A22\"},{\"firstname\":\"YYYYYYYYYY\",\"lastname\":\"A23\"}]}";
    Object obj = parser.parse(jsonData);
    // A JSON object. Key value pairs are unordered. JSONObject supports java.util.Map interface.
    JSONObject jsonObject = (JSONObject) obj;
    // A JSON array. JSONObject supports java.util.List interface.
    JSONArray elements = (JSONArray) jsonObject.get("elements");
    elements.forEach(e ->{
        JSONObject element = (JSONObject) e;
        System.out.println(element.get("lastname"));
    });

相关问题