pom依赖
< dependency>
< groupId> com. fasterxml. jackson. core< / groupId>
< artifactId> jackson- databind< / artifactId>
< version> 2.9 .9 < / version>
< / dependency>
< dependency>
< groupId> com. fasterxml. jackson. core< / groupId>
< artifactId> jackson- annotations< / artifactId>
< version> 2.9 .9 < / version>
< / dependency>
< dependency>
< groupId> com. fasterxml. jackson. core< / groupId>
< artifactId> jackson- core< / artifactId>
< version> 2.9 .9 < / version>
< / dependency>
测试string
String json = "{\"name\":\"小明\",\"school\":{\"name\":\"第一小学\",\"tel\":\"010-123456\",\"address\":\"北京海淀区\"},\"hobbies\":[\"足球\",\"篮球\",\"吉他\"]}" ;
String arrayJson = "[{\"no\":10,\"name\":\"Jack\"},{\"no\":11,\"name\":\"Tom\"},{\"no\":12,\"name\":\"Harry\"},{\"no\":13,\"name\":\"Li\"}]" ;
1.Json字符串转JsonNode
ObjectMapper objectMapper = new ObjectMapper ( ) ;
JsonNode jsonNode = objectMapper. readTree ( json) ;
Iterator < JsonNode > elements = jsonNode2. elements ( ) ;
while ( elements. hasNext ( ) ) {
JsonNode node = elements. next ( ) ;
System . out. println ( node. toString ( ) ) ;
}
2.JsonNode转Json字符串
String s = objectMapper. writeValueAsString ( lisa) ;
3.JsonNode转java对象
Student student = objectMapper. treeToValue ( jsonNode1, Student . class ) ;
4.JsonNode根据key查找值
JsonNode name = jsonNode. get ( "name" ) ;
JsonNode name = jsonNode. path ( "name" ) ;
JsonNode name = jsonNode. findPath ( "name" ) ;
JsonNode name = jsonNode. findValue ( "name" ) ;
List < JsonNode > name = jsonNode. findValues ( "name" ) ;
JsonNode name = jsonNode. at ( "/school/name" ) ;
5.JsonNode类型
JsonNodeType nodeType = jsonNode. getNodeType ( ) ;
boolean array = jsonNode. isArray ( ) ;
boolean object = jsonNode. isObject ( ) ;
boolean valueNode = jsonNode. isValueNode ( ) ;