json和jsonNode有什么區別及相互轉換


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

}

}
`


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM