首頁  >  文章  >  Java  >  如何使用 Jackson JSON 將 JSON 字串轉換為地圖?

如何使用 Jackson JSON 將 JSON 字串轉換為地圖?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-10-30 16:59:26707瀏覽

How to Convert JSON Strings to Maps with Jackson JSON?

使用Jackson JSON 將JSON 字串轉換為地圖

Jackson JSON 是一個流行的Java 庫,用於將JSON 字串轉換為各種資料結構。但是,在嘗試將 JSON 轉換為 Map 時遇到未經檢查的分配錯誤。可能會令人沮喪。

要解決此問題,請按照以下步驟操作:

  1. 使用型別參考:

    <code class="java">TypeReference<HashMap<String, String>> typeRef
            = new TypeReference<HashMap<String, String>>() {};
    
    HashMap<String, String> propertyMap = mapper.readValue(properties, typeRef);</code>
  2. 使用通用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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn