Golang JSON RawMessage字面量

8

在Golang中是否可以创建一个json.RawMessage字面量?

我想做的事情就是这样:

type ErrorMessage struct {
    Timestamp string
    Message   json.RawMessage
}

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

或者像这样。 这个 是我见过的最简洁的例子。我找不到一个用于创建原始JSON消息的“struct”文字的示例。

1个回答

13

json.RawMessage 的底层数据类型是一个 []byte

您可以将字符串转换为字节数组,或直接使用字节数组字面量

msg := ErrorMessage{
    Timestamp: "test-time",
    Message:   []byte("{}"),
}

请注意,要实际按预期编排数据,您需要使用*json.RawMessage,但在字面上下文中无法获取它的地址。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接