简体   繁体   English

使用JSON字符串创建Java地图

[英]Create a java map using json string

{
 "userType": "I",
 "classList": [
   {
     "id": 1,
     "name": "c1"
   },
   {
     "id": 2,
     "name": "c2"
   },
   {
     "id": 3,
     "name": "c3"
   }
 ]
}

How to declare and put values to the above sample example? 如何声明值并将其放入上述示例示例?

Use jackson library, 使用杰克逊图书馆,

HashMap<String,Object> map =
    new ObjectMapper().readValue(jsonString, HashMap.class);

Use this dependency for maven, 将此依赖项用于Maven,

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-core</artifactId>
    <version>2.8.7</version>
</dependency>

More here, do your researchs Create Map in Java . 在这里进行更多研究,并用Java创建地图

Map<String,Object> map = new LinkedHashMap<String,Object>();
map.put("id",3);
map.put("name","c2");

You need to create a Map, and put a map and List into the first Map: 您需要创建一个Map,并将一个Map和List放入第一个Map中:

    public Map<String, Object> createMap() {
    Map<String, Object> map = new HashMap<String, Object>();
    map.put("userType", "I");
    List<Map<String, Object>> classList = new ArrayList<Map<String, Object>>();
    Map<String, Object> class1 = new HashMap<String, Object>();
    class1.put("id", 1);
    class1.put("name", "c1");
    classList.add(class1);

    Map<String, Object> class2 = new HashMap<String, Object>();
    class1.put("id", 2);
    class1.put("name", "c2");
    classList.add(class2);

    Map<String, Object> class3 = new HashMap<String, Object>();
    class1.put("id", 3);
    class1.put("name", "c3");
    classList.add(class3);

    map.put("classList", classList);
    return map;
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM