Closed. This question needs details or clarity。它当前不接受答案。












想改善这个问题吗?添加详细信息,并通过editing this post阐明问题。

5年前关闭。



Improve this question




我是Go的新手,一直在尝试弄清楚如何输出原始内部JSON
来自“外部”的“{\”数据\”:\“一些数据”}”。到目前为止,还没有运气...

这是输入数据:
{
 "Outer": "{\"data\":\"Some data\"}"
}

我想得到的是以下带有斜线的字符串:
{\"data\":\"Some data\"}

最佳答案

如果您知道 key (“外部”),则可以这样操作(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以了解如何使用任意嵌套数据。

09-10 11:15
查看更多