在列印日誌時,遇到了乙個問題,收到的請求json字串是格式化後的,想要在日誌裡列印出這個請求引數,就占用了多行,很不美觀,於是在網上找了下,發現並沒有比較好的json去格式化的方法,於是自己寫了乙個實現。
/**
* 壓縮json
* 將格式化的json字串壓縮為一行,去掉空格、tab,並把換行符改為顯式的\r\n
* !!!只能處理正確json字串,不對json字串做校驗
* @param json
* @return
*/public static string compress(string json)
stringbuilder sb = new stringbuilder();
boolean skip = true;// true 允許擷取(表示未進入string雙引號)
boolean escaped = false;// 轉義符
for (int i = 0; i < json.length(); i++)
else
if (skip)
}if (c == '"' && !escaped)
}return sb.tostring().replaceall("\r\n", "\\\\r\\\\n");
}
輸入美化後的json,或者含有較多不規則空格、換行的json字串:
, , ]
}
壓縮、去格式化後為一行:
,,]}
方便了日誌列印
json字串格式
res.write 前端轉化 fetch json config then response then data 發現前端報錯 uncaught in promise syntaxerror unexpected token in json at position 1 我乙個以為是fetch沒有配置...
json字串格式轉換
1.物件相互轉換 物件轉字串 user user newuser jsonobject object jsonobject.fromobject user string jsonstr object.tostring 字串轉物件 jsonobject jsonobj jsonobject.fromo...
JSON字串格式化
package tools 核心演算法 該類提供格式化json字串的方法。該類的方法formatjson將json字串格式化,方便檢視json資料。例如 json字串 yht xzj zwy 格式化為 yht xzj zwy 使用演算法如下 對輸入字串,追個字元的遍歷 1 獲取當前字元。2 如果當前...