无论如何在没有声明结构的情况下将编码结构作为JSON发送?

时间:2016-09-30 05:18:32

标签: json linux go struct

我想知道如何简化这段代码:

type PP struct {
    Profile_picture string `json:"profile_picture"`
}

json.NewEncoder(w).Encode(PP {result.Profile_picture})

类似的东西:

json.NewEncoder(w).Encode({result.Profile_picture})

^这给了我:syntax error: missing operand

摆脱:

type PP struct {
    Profile_picture string `json:"profile_picture"`
}

感谢。抱歉我的英文。

2 个答案:

答案 0 :(得分:1)

json.NewEncoder(w).Encode(
    map[string]string{"profile_picture": result.Profile_picture},
)

可行 - 带有字符串键的映射将JSON编码为对象,您可以使用它们构建任何您喜欢的内容。它并不短,但确实避免了助手类型。

答案 1 :(得分:1)

除了hobb的答案,您还可以使用匿名结构。

json.NewEncoder(w).Encode(
    struct {
        Pp string `json:"profile_picture"`
    }{result.Profile_picture},
)