Golang返回嵌套的JSON

时间:2015-04-30 08:19:08

标签: json go

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

这是输入数据:

{
 "Outer": "{\"data\":\"Some data\"}"
}

我想得到的是以下带有斜杠的字符串:

{\"data\":\"Some data\"}

1 个答案:

答案 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了解如何使用任意嵌套数据。