Golang JSON RawMessage文字

时间:2015-05-29 18:53:39

标签: json go

是否可以在Golang中创建json.RawMessage文字?

我希望能够做到这样的事情:

type ErrorMessage struct {
    Timestamp string
    Message   json.RawMessage
}

func getTestData() ErrorMessage {
    return ErrorMessage{
        Timestamp: "test-time",
        Message:   "{}"
    }
}

或类似的东西。 This是我见过的最简洁的。我无法找到用于创建原始json消息的“struct”文字的示例。

1 个答案:

答案 0 :(得分:2)

json.RawMessage的基础数据类型为[]byte

您可以转换字符串,或直接在文字

中使用字节切片
msg := ErrorMessage{
    Timestamp: "test-time",
    Message:   []byte("{}"),
}

请注意,要实际按预期方式封送,您需要使用*json.RawMessage,而不能在字面值中使用地址。