Mục lục
Trong bài viết này, chúng ta sẽ cùng nhau tìm hiểu cách convert Json string sang JsonNode thuộc package com.fasterxml.jackson.databind.
Convert Json sang JsonNode
Để convert Json sang JsonNode chúng ta có 2 cách sau:
readTree(String json)
Rất đơn giản, chúng ta có thể sử dụng readTree để chuyển Json sang JsonNode.
String jsonString = "{"k1":"v1","k2":"v2"}"; ObjectMapper mapper = new ObjectMapper(); JsonNode actualObj = mapper.readTree(jsonString);
readTree(JsonParser parser)
readTree còn 1 override method khác nhận vào JsonParser
String jsonString = "{"k1":"v1","k2":"v2"}"; ObjectMapper mapper = new ObjectMapper(); JsonFactory factory = mapper.getFactory(); JsonParser parser = factory.createParser(jsonString); JsonNode actualObj = mapper.readTree(parser);
Sử dụng JsonNode
JsonNode mô phỏng cấu trúc của Json string, với get() method để lấy giá trị theo key, asText() để lấy giá trị của thuộc tính etc.
public class Main { public static void main(String[] args) throws IOException { String jsonString = "{\"k1\":\"v1\",\"k2\":\"v2\"}"; ObjectMapper mapper = new ObjectMapper(); JsonNode actualObj = mapper.readTree(jsonString); // When JsonNode jsonNode1 = actualObj.get("k1"); System.out.println(jsonNode1.asText()); // v1 JsonNode jsonNode2 = actualObj.get("k2"); System.out.println(jsonNode2.asText()); // v2 } }
Tóm lược
Qua bài viết này, chúng ta đã biết cách chuyển Json string sang JsonNode trong Jackson. Cho phép mô phỏng cấu trúc của Json trong Java với readTree method.