在Java中JSON數據格式用String接收時,此時在FastJSON層面看來該JSON只是普通字符串,所以對原字符串序列化會得到轉義字符\ 得到轉義后字符串,再反序列化轉義后字符串會得到原字符串
String json="{\"name\": \"張三\", \"age\": 25, \"isStudent\": true}";//代表{"name": "張三", "age": 25, "isStudent": true}String jsonStr="\"{\\\"name\\\": \\\"張三\\\", \\\"age\\\": 25, \\\"isStudent\\\": true}\"";//代表"{\"name\": \"張三\", \"age\": 25, \"isStudent\": true}"String jsonStr2 = JSONObject.toJSONString(json);String json2 = JSONObject.parseObject(jsonStr2, String.class);String json3 = JSONObject.parseObject(json2, String.class);int v=1;
結果
?注意圖中不要與FastJSON層面的轉義字符和java源碼層面的轉義字符搞混