今天作工程時遇到一個問題
JSONObject objA = new JSONObject();
objA.put("key1",value1);
objA.put("key2",value2);
JSONObject objB = new JSONObject();
objB.put("key3",value3);
objB.put("key4",objA.toJSONString());//注意這裏,是JSON中套了一層JSON
這個時候將objB轉成json字符串,採用以下代碼
String objBStr = objB.toJSONString();
打印出objBStr的結果
"{"key3":"value3","key4":"{"key1":"value1","key2":"value2"}"}"
很明顯JSON中套JSON字符串時,會出現如上轉義現象,解決辦法以下
//方法1,採用StringEscapeUtils
String objectStr2 = StringEscapeUtils.unescapeJava(JSON.toJSONString(objB));
//方法2,暴力替換
String objBStr = objBStr.replace("\","");json