Java 是地图<;字符串,对象>;是否适合将任意对象转换为Json格式?

Java 是地图<;字符串,对象>;是否适合将任意对象转换为Json格式?,java,json,Java,Json,当前,当需要将某些对象模型转换为json时,会使用大量哈希映射。我担心HashMap的开销对于这个任务来说太大了 优点:HashMap在使用方面非常灵活 缺点:开销太大 也许还有一种观点认为这些地图会早逝 不确定是否有更好的数据结构或方法 == 映射:对象表示值可以是任何类型(列表、映射、整数、长型等)。这就是为什么我认为它是灵活的 我知道那些可以将对象转换为json的LIB,问题更多的是一个中间数据结构,允许json和真实对象之间的转换。为什么不使用com.fasterxml.jackson.

当前,当需要将某些对象模型转换为json时,会使用大量哈希映射。我担心HashMap的开销对于这个任务来说太大了

优点:HashMap在使用方面非常灵活

缺点:开销太大

也许还有一种观点认为这些地图会早逝

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

==

映射:对象表示值可以是任何类型(列表、映射、整数、长型等)。这就是为什么我认为它是灵活的


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

为什么不使用
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

你能更详细地描述一下
对象是什么吗?也许可以共享源代码。另外,您是否考虑过为您的对象模型声明类?然后,您可以使用
Gson
将它们转换为json。您是否尝试过类似或的方法