使用 Jackson JSON 将 JSON 字符串转换为地图
Jackson JSON 是一个流行的 Java 库,用于将 JSON 字符串转换为各种数据结构。但是,在尝试将 JSON 转换为 Map
要解决此问题,请按照以下步骤操作:
使用类型引用:
<code class="java">TypeReference<HashMap<String, String>> typeRef = new TypeReference<HashMap<String, String>>() {}; HashMap<String, String> propertyMap = mapper.readValue(properties, typeRef);</code>
使用通用 JsonNode:
<code class="java">JsonNode rootNode = mapper.readTree(properties); if (rootNode.isObject()) { Map<String, String> propertyMap = new HashMap<>(); rootNode.fields().forEachRemaining(field -> propertyMap.put(field.getKey(), field.getValue().asText())); }</code>
对于原生 Java JSON 转换,您可以探索 JSON.org。此外,以下是如何在 Jackson 中实现类似的 JSON 解码功能:
<code class="java">ObjectNode albumList = mapper.createObjectNode(); ArrayNode albums = mapper.createArrayNode(); albums.add(mapper.createObjectNode().put("title", "Album 1")); albums.add(mapper.createObjectNode().put("title", "Album 2")); albumList.put("albums", albums); System.out.println(albumList);</code>
这会生成一个带有专辑数组的 JSON 对象,提供与 PHP 的 json_decode($str) 相同的功能。
以上是如何使用 Jackson JSON 将 JSON 字符串转换为地图?的详细内容。更多信息请关注PHP中文网其他相关文章!