我寫一個測試,我想的json.Marshal
結果與靜態JSON字符串比較:如何從字節數組中刪除所有空格,換行符,製表符?
var json = []byte(`{
"foo": "bar"
}`)
由於json.Marshal
結果沒有任何\n
,\t
和空間我以爲我可以很容易做到:
bytes.Trim(json, " \n\t")
刪除所有這些字符。 但不幸的是,這不起作用。我可以編寫自定義修剪功能並使用bytes.TrimFunc
,但這對我來說似乎很複雜。
我還能做些什麼來使json字符串「壓縮」儘可能少的代碼?
最佳, 博
您需要一個替換功能,而不是修剪功能。但是如果你在鍵和值中有空格呢?你怎麼知道你是否在關鍵/價值內?你不能沒有寫一個JSON解析器:)所以你被困在一個循環裏,除非你100%確定json中的所有空格都是填充而不是鍵/值。否則,只需使用'strings.Replace' :) –
因爲它是一個字節數組而不是字符串,所以可以使用'bytes.Replace'來代替。 –