import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.junit.Test;
public class JsonTreeModelDemo {
/**
* 获取 JSON 字符串中的 JsonNode
*
* @throws JsonProcessingException
*/
@Test
public void test1() throws JsonProcessingException {
String carJson = "{ \"brand\" : \"Mercedes\", \"doors\" : 5," +
" \"owners\" : [\"John\", \"Jack\", \"Jill\"]," +
" \"nestedObject\" : { \"field\" : \"value\" } }";
ObjectMapper objectMapper = new ObjectMapper();
// JsonNode jsonNode = objectMapper.readValue(carJson, JsonNode.class);
JsonNode jsonNode = objectMapper.readTree(carJson);
JsonNode brandNode = jsonNode.get("brand");
String brand = brandNode.asText();
System.out.println("brand = " + brand);
JsonNode doorsNode = jsonNode.get("doors");
int doors = doorsNode.asInt();
System.out.println("doors = " + doors);
JsonNode ownersNodeArray = jsonNode.get("owners");
JsonNode owners = ownersNodeArray.get(0);
String john = owners.asText();
String s = ownersNodeArray.toString();
System.out.println(s);
System.out.println("john = " + john);
JsonNode child = jsonNode.get("nestedObject");
JsonNode childField = child.get("field");
String field = childField.asText();
System.out.println("field = " + field);
}
/**
* Java对象转JsonNode
*/
@Test
public void test2() {
ObjectMapper objectMapper = new ObjectMapper();
Car car = new Car();
car.setBrand("Cadillac");
car.setDoors(4);
JsonNode carJsonNode = objectMapper.valueToTree(car);
System.out.println(carJsonNode.toString());
}
/**
* JsonNode转Java对象
*/
@Test
public void test3() throws JsonProcessingException {
ObjectMapper objectMapper = new ObjectMapper();
String carJson = "{ \"brand\" : \"Mercedes\", \"doors\" : 5 }";
JsonNode carJsonNode = objectMapper.readTree(carJson);
Car car = objectMapper.treeToValue(carJsonNode, Car.class);
System.out.println(car);
}
}
Jackson中JsonNode使用示例
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Java使用JsonNode判断实体类非空
使用jsonNode去判断实体类的参数是否为空
jsonnode java hutool -
Java JsonNode转对象
使用ObjectMapper,将JsonNode转对象。
java 开发语言 spring xml json