【问题标题】:Create a java map using json string使用 json 字符串创建 java 地图
【发布时间】:2017-03-20 03:09:24
【问题描述】:
{
 "userType": "I",
 "classList": [
   {
     "id": 1,
     "name": "c1"
   },
   {
     "id": 2,
     "name": "c2"
   },
   {
     "id": 3,
     "name": "c3"
   }
 ]
}

如何对上面的示例进行声明和赋值?

【问题讨论】:

  • 请告诉我们您希望地图的外观。我不清楚你在期待什么。

标签: java dictionary


【解决方案1】:

使用杰克逊库,

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

将此依赖项用于 maven,

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

【讨论】:

    【解决方案2】:

    更多在这里,做你的研究Create Map in Java

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

    【讨论】:

      【解决方案3】:

      你需要创建一个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;
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-16
        • 1970-01-01
        • 2023-04-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多