Jackson – 字符串轉JsonNode

Data,Jackson
Remote
0
01:29 AM · Dec 01 ,2025

1. 概述

本快速教程將演示如何使用 Jackson 2 將 JSON 字符串轉換為 JsonNode (com.fasterxml.jackson.databind.JsonNode).

如果您想深入瞭解並學習更多使用 Jackson 2 的技巧 – 請訪問主 Jackson 教程。

2. 快速解析

非常簡單,要解析 JSON 字符串,我們只需要一個 ObjectMapper

@Test
public void whenParsingJsonStringIntoJsonNode_thenCorrect()
  throws JsonParseException, IOException {
    String jsonString = "{\"k1\":\"v1\",\"k2\":\"v2\"}";

    ObjectMapper mapper = new ObjectMapper();
    JsonNode actualObj = mapper.readTree(jsonString);

    assertNotNull(actualObj);
}

3. 低級別解析

如果出於某種原因,您需要更底層的操作,下面的示例展示了負責實際解析字符串的JsonParser:

@Test
public void givenUsingLowLevelApi_whenParsingJsonStringIntoJsonNode_thenCorrect()
  throws JsonParseException, IOException {
    String jsonString = "{\"k1\":\"v1\",\"k2\":\"v2\"}";

    ObjectMapper mapper = new ObjectMapper();
    JsonFactory factory = mapper.getFactory();
    JsonParser parser = factory.createParser(jsonString);
    JsonNode actualObj = mapper.readTree(parser);

    assertNotNull(actualObj);
}

4. 使用 JsonNode

在將JSON解析為 JsonNode 對象後,我們可以使用 Jackson JSON Tree Model:

@Test
public void givenTheJsonNode_whenRetrievingDataFromId_thenCorrect()
  throws JsonParseException, IOException {
    String jsonString = "{\"k1\":\"v1\",\"k2\":\"v2\"}";
    ObjectMapper mapper = new ObjectMapper();
    JsonNode actualObj = mapper.readTree(jsonString);

    // When
    JsonNode jsonNode1 = actualObj.get("k1");
    assertThat(jsonNode1.textValue(), equalTo("v1"));
}

5. 結論

本文介紹瞭如何將 JSON 字符串解析為 Jackson 中的 JsonNode 模型,從而實現對 JSON 對象進行結構化處理。

user avatar
0 位用戶收藏了這個故事!
收藏

發佈 評論

Some HTML is okay.