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));
}
}
}
`