以对象为值

时间:2019-12-02 11:20:35

标签: java hashmap

我需要将一个键值嵌套在HashMap的现有键值对中。 我当前的输出为json是

...
    "x": {
      "y": yhyhy,
      "z": "zhzhz",
      "d": 123
    }
...

我要添加一个新的配对,如下所示:

...
    "x": {
      "y": yhyhy,
      "z": "zhzhz",
      "d": 123,
      "k": "khkhkh"
    }
..

实现此目标的问题是:最初准备的哈希图是通过插入整个对象作为值(reposneObject是在其他地方使用的immutableMap)

Map<Object, Object> responseMap = new HashMap<>(responseObject);
                    responseMap.put("x", someObject);

我不想将someObject的每个字段分别插入到地图中(因为计数可能很大) 使用地图或其他方法还有其他方法吗? (似乎无法在对象中动态添加字段)

2 个答案:

答案 0 :(得分:1)

假设someObject是地图:

Map<Object, Object> responseMap = new HashMap<>(responseObject);
responseMap.put("x", someObject);
responseMap.get("x").put("k": "khkhkh");  

答案 1 :(得分:0)

  

还有其他使用地图或其他方式完成此操作的方法吗?

responseMap.putAll(someObject);,其中someObject是map