Home >Java >javaTutorial >How to Convert JSON Strings to Maps with Jackson JSON?
Converting JSON Strings to Maps with Jackson JSON
Jackson JSON is a popular Java library for converting JSON strings to various data structures. However, encountering an unchecked assignment error while attempting to convert JSON to a Map
To resolve this issue, follow these steps:
Use TypeReference:
<code class="java">TypeReference<HashMap<String, String>> typeRef = new TypeReference<HashMap<String, String>>() {}; HashMap<String, String> propertyMap = mapper.readValue(properties, typeRef);</code>
Use Generic 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>
For native Java JSON conversion, you can explore JSON.org. In addition, here's how to achieve similar JSON decoding functionality in Jackson:
<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>
This generates a JSON object with an array of albums, providing the same functionality as PHP's json_decode($str).
The above is the detailed content of How to Convert JSON Strings to Maps with Jackson JSON?. For more information, please follow other related articles on the PHP Chinese website!