我有一个有趣的问题要解决。由于我必须与之交谈的工具,我需要将换行符转换为文字string \n我有以下数据

{"name": 2019-05-25,
"tracker": {
"project": {
  "uri": "/project/87",
  "name": "Allen's Test"
},
"uri": "/tracker/57483",
"name": "Tasks"
        },
"description": "[{Table

||Stack
||Current Version
||New Version
||Changes
|common
|1.0.214
|1.0.214
|* blah - [#345|https://blah.com/345]

|workflow
|2.2.23
|2.2.23
|* [ES-12345] blah - [#1087|https://blah.com/1087]

}]",
"descFormat": "Wiki"}

所以基本上不是多行字符串,我需要将它转换为单行string与 \n的后端工具将转换它。我正在使用go并且不太确定从哪里开始。我猜我需要原始字符串,但许多源位都是内置换行符的api调用。

任何帮助,将不胜感激。

分析解答

例如,

package main

import (
    "fmt"
    "strings"
)

func main() {
    s := `"project": {
  "uri": "/project/87",
  "name": "Allen's Test"
},`
    fmt.Println(s)
    s = strings.ReplaceAll(s, "\n", `\n`)
    fmt.Println(s)
}

游乐场:https://play.golang.org/p/lKZw78yOuMc

输出:

"project": {
  "uri": "/project/87",
  "name": "Allen's Test"
},
"project": {\n  "uri": "/project/87",\n  "name": "Allen's Test"\n},

在Go 1.12之前,写道:

s = strings.Replace(s, "\n", `\n`, -1)