如何使用Go将多行json转换为一行json?
发自:
{
"release_date": "2004-11-09",
"status": "retired",
"engine": "Gecko",
"engine_version": "1.7"
}至:
{"release_date":"2004-11-09","status":"retired","engine":"Gecko","engine_version":"1.7"}
发布于 2022-06-14 08:00:18
json.Compact()正是这样做的:
函数压缩(dst *bytes.Buffer,src []字节)错误 紧凑型附加到dst,JSON编码的src中省略了不重要的空格字符。
json.Compact()比解封和封送更好,因为它可以处理任何有效的JSON,而且要快得多(它不会创建和丢弃Go值)。它也优于使用任何regexp,同样,它要快得多,而且regexp不完全理解JSON语法,因此可能会导致数据丢失。
例如:
func main() {
dst := &bytes.Buffer{}
if err := json.Compact(dst, []byte(src)); err != nil {
panic(err)
}
fmt.Println(dst.String())
}
const src = `{
"release_date": "2004-11-09",
"status": "retired",
"engine": "Gecko",
"engine_version": "1.7"
}`这将输出(在围棋游乐场上尝试它):
{"release_date":"2004-11-09","status":"retired","engine":"Gecko","engine_version":"1.7"}https://stackoverflow.com/questions/72609104
复制相似问题