Map <string,object>是否适合将任意对象转换为Json格式?

时间:2016-02-24 08:08:31

标签: java json

当需要将一些对象模型转换为json时,目前使用了大量的HashMaps。我担心的是HashMap的开销对于这项任务来说太多了。

优点:HashMap在使用

方面非常灵活

缺点:开销太大

仍然可能有一个论点是这些地图将会死亡。

不确定是否有更好的数据结构或方法呢?

==

Map:Object表示值可以是任何类型(List,Map,Integer,Long等......)。这就是为什么我认为它很灵活

我知道那些可以将对象转换为json的库,问题更像是一个允许json和真实对象之间转换的中间数据结构。

1 个答案:

答案 0 :(得分:0)

为什么不使用com.fasterxml.jackson.databind.JsonNode。遍历json树非常简单,例如:

String jsonInput = "{\"intKey\":1234, \"array\":[22,44,55],\"someObject\":{\"bool\":true,\"double\":2.5,\"string\":\"asdf\"}}";
ObjectMapper mapper = new ObjectMapper();
JsonNode node = mapper.readTree(jsonInput);
node.path("intKey").asInt(); // 1234
for(JsonNode n : node.path("array")) {
    System.out.println(n.asInt()); // 22, 44, 55
}
JsonNode someObject = node.path("someObject");
someObject.path("bool").asBoolean(); // true
someObject.path("double").asDouble(); // 2.5
someObject.path("string").asText(); // asdf