JSON使用自定义名称将地图处理键和值序列化为属性

时间:2015-04-30 09:50:15

标签: java json rest serialization jackson

我想转换

Map<long,long> myMap

myMap : [{"key": 1, "value": 100},
          "key": 2, "value": 200}}

有可能吗?我使用Jackson并且默认行为是:

myMap : [{"1" : 100},
          "2" : 200}}

2 个答案:

答案 0 :(得分:2)

地图无法实现。但是,您可以使用keyvalue作为字段创建自定义类,然后使用该类的实例填充Collection。在使用Jackson的JSON序列化时,结果将是您想要的结果。

答案 1 :(得分:1)

试试这个:

    ObjectMapper mapper = new ObjectMapper();
    String json = "";

    Map<String, String> map = new HashMap<String, String>();
    map.put("name", "mkyong");
    map.put("age", "29");

    //convert map to JSON string
    json = mapper.writeValueAsString(map);