json
json是一个字符串,列如:
String json = "{"username":"tom","company":{"companyName":"中华","address":"北京"},"cars":["奔驰","宝马"]"};
jsonNode
jsonNode是一个对象!
可以将json转换成jsonNode,jsonNode中都是键值对形式,可以根据Key取出对应的值!
JsonNode 和 json 互转示例如下:
`import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.Iterator;
public class JsonPraseTest {
public static void main(String[] args) throws JsonProcessingException {
String jsonS="{\"basics\":{\n" +
" \"instanceName\":\"头像\",\n" +
" \"width\":55,\n" +
" \"height\":55,\n" +
" \"positionX\":0,\n" +
" \"positionY\":0,\n" +
" \"instanceID\":\"SimpleAvatar621388c2-b3fb-4e07-9160-f40b2a385f6f\",\n" +
" \"zIndex\":1,\n" +
" \"configurable\":true,\n" +
" \"type\":\"simpleAvatar\"\n" +
" },\n" +
"\"avatarStyle\":{\n" +
" \"size\":\"50\",\n" +
" \"shape\":\"circle\",\n" +
" \"color\":\"#628df0\",\n" +
" \"backgroundColor\":\"#a1bbf5\",\n" +
" \"gap\":4\n" +
" },\n" +
"\"additional\":{\n" +
" \"isBadge\":false,\n" +
" \"isPhoto\":false\n" +
" }\n" +
"}";
//JSON ----> JsonNode
ObjectMapper mapper=new ObjectMapper();
JsonNode jsonNode = mapper.readTree(jsonS);
Iterator<String> keys = jsonNode.fieldNames();
while(keys.hasNext()){
String fieldName = keys.next();
System.out.println(fieldName + ": " + jsonNode.path(fieldName).toString());
}
//JsonNode ----> JSON
System.out.println(mapper.writeValueAsString(jsonNode));
}
}
}
`