Jackson 对Json 串的构建 可以 不通过 java 类得以实现。
可以通过直接构建 树形结构的方式构建。
以下的代码可以作为参考:
import java.io.IOException;
import model.MyValue;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ObjectNode;
public class JacksonSecond {
public static void main(String[] args) throws JsonProcessingException, IOException {
ObjectMapper mapper = new ObjectMapper();
ObjectNode root = (ObjectNode) mapper.readTree("{\"name\": \"fromFile \", \"age\":23}");
String name = root.get("name").asText();
int age = root.get("age").asInt();
System.out.println("root:now" + "\n" + "name: "+ name + "\n" + "age: " + age + "\n");
root.with("other").put("type","student");
root.put("address", "Dalian");
root.putPOJO("test", new MyValue());
String json = mapper.writeValueAsString(root);
System.out.println("root:now" + "\n" + json + "\n");
JsonNode kk = root.get("test");
System.out.println(kk);
}
}
输出:
root:now
name: fromFile
age: 23
root:now
{"name":"fromFile ","age":23,"other":{"type":"student"},"address":"Dalian","test":{"name":null,"age":0}}
name: null
age: 0