json - Golang JSON RawMessage 文字

标签 json go

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

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

type ErrorMessage struct {
    Timestamp string
    Message   json.RawMessage
}

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

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

最佳答案

json.RawMessage 的基础数据类型是一个[]byte

你可以转换你的字符串,或者直接在文字中使用字节 slice

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

请注意,要按预期实际编码,您需要使用 *json.RawMessage,您不能在文字上下文中获取地址。

关于json - Golang JSON RawMessage 文字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30537035/

相关文章:

java - 将字段传递给自定义反序列化器类 Jackson

c# - json 编码的自定义替换未按预期输出双引号

javascript - JSON.解析 : unexpected character at line 1 column 2 of the JSON data (HTML)

syntax - 为什么 Go 方法接收类型不能是接口(interface)?

google-app-engine - 使用 Go Runtime Google App Engine 的 Google Cloud Storage Client App 错误

parsing - Golang 中的 RFC3339 时间解析

go - 需要更新版本

ios - 当应用程序在后台时 Alamofire 请求

jquery - JSON.parse() 期间 JSON 中出现意外标记

json - 尝试解码映射[优先级]字符串