我是Go的新手,一直在试图找出如何输出原始内部JSON “{\”data \“:\”某些数据“}”来自“外部”。到目前为止,没有运气......
这是输入数据:
{
"Outer": "{\"data\":\"Some data\"}"
}
我想得到的是以下带有斜杠的字符串:
{\"data\":\"Some data\"}
答案 0 :(得分:2)
如果您知道密钥(“外部”),您可以这样做(on the Playground):
package main
import (
"encoding/json"
"fmt"
)
func main() {
//Creating the maps for JSON
m := map[string]json.RawMessage{}
//Parsing/Unmarshalling JSON encoding/json
err := json.Unmarshal([]byte(input), &m)
if err != nil {
panic(err)
}
fmt.Printf("%s", m["Outer"])
}
const input = `
{
"Outer": "{\"data\":\"Some data\"}"
}
`
请注意,您的示例json缺少数据后的最终转义。没有它你就会收到错误。
如果您不了解您的结构,请参阅this reply了解如何使用任意嵌套数据。