如何使用 Go 将多行 json 转换为单行 json?
从:
{
"release_date": "2004-11-09",
"status": "retired",
"engine": "Gecko",
"engine_version": "1.7"
}
Run Code Online (Sandbox Code Playgroud)
到:
{"release_date":"2004-11-09","status":"retired","engine":"Gecko","engine_version":"1.7"}
icz*_*cza 15
json.Compact()正是这样做的:
Run Code Online (Sandbox Code Playgroud)func Compact(dst *bytes.Buffer, src []byte) errorCompact 将 JSON 编码的 src 附加到 dst,并忽略无关紧要的空格字符。
json.Compact()优于再次解组和编组,因为它适用于任何有效的 JSON,并且速度快得多(它不会创建和丢弃 Go 值)。它也优于使用任何正则表达式,同样,它要快得多,并且正则表达式不能完全理解 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"
}`
Run Code Online (Sandbox Code Playgroud)
这将输出(在Go Playground上尝试):
{"release_date":"2004-11-09","status":"retired","engine":"Gecko","engine_version":"1.7"}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6099 次 |
| 最近记录: |