gpt4 book ai didi

json - 如何从字节数组中删除所有空格、换行符、制表符?

转载 作者:IT王子 更新时间:2023-10-29 01:07:13 25 4
gpt4 key购买 nike

我正在编写一个测试,我想将 json.Marshal 的结果与静态 json 字符串进行比较:

var json = []byte(`{
"foo": "bar"
}`)

由于 json.Marshal 没有任何 \n\t 和空格,我认为我可以轻松做到:

bytes.Trim(json, " \n\t")

删除所有这些字符。但是不幸的是,这不起作用。我可以编写自定义修剪函数并使用 bytes.TrimFunc 但这对我来说似乎很复杂。

我还能做些什么来用尽可能少的代码“压缩”json 字符串?

最好的,博

最佳答案

如果 JSON 字符串中有空格,则使用任何修剪或替换功能将不起作用。你会破坏数据,例如,如果你有类似 {"foo": "bar baz"} 的东西。

只需使用 json.Compact .

除了输出到 bytes.Buffer 之外,这正是您所需要的。

var json_bytes = []byte(`{
"foo": "bar"
}`)
buffer := new(bytes.Buffer)
if err := json.Compact(buffer, json_bytes); err != nil {
fmt.Println(err)
}

参见 http://play.golang.org/p/0JMCyLk4Sg一个活生生的例子。

关于json - 如何从字节数组中删除所有空格、换行符、制表符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24777101/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com