1. 程式人生 > >Web開發筆記 #08# Jackson組合多個物件的屬性構成JSON(以及新增自定義屬性)

Web開發筆記 #08# Jackson組合多個物件的屬性構成JSON(以及新增自定義屬性)

參考文件:https://github.com/FasterXML/jackson-databind

關於ObjectMapper的執行緒安全

截自官方文件:

組合多個物件的屬性構成JSON(以及新增自定義屬性)

Code:

import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ObjectNode;

public class
TestJackson { private static final ObjectMapper MAPPER = new ObjectMapper(); public static void main(String[] args) { Foo foo = new Foo("value1", "value2"); Bar bar = new Bar("value3", "value4"); ObjectNode root = MAPPER.valueToTree(foo); ObjectNode node
= MAPPER.valueToTree(bar); root.setAll(node); root.put("extraFiled", "value5"); String jsonString = null; try { jsonString = MAPPER.writerWithDefaultPrettyPrinter().writeValueAsString(root); } catch (JsonProcessingException e) { e.printStackTrace(); } System.out.println(jsonString); } }

Output: