我正在尝试从结构创建一个JSON字符串:
package main
import "fmt"
func main() {
type CommentResp struct {
Id string `json: "id"`
Name string `json: "name"`
}
stringa := CommentResp{
Id: "42",
Name: "Foo",
}
fmt.Println(stringa)
}
此代码打印{42 foo}
,但我预计{"Id":"42","Name":"Foo"}
。
答案 0 :(得分:9)
您要打印的内容是fmt
CommentResp
结构的序列化。相反,您要做的是使用json.Marshal
来获取编码的JSON表示:
data, err := json.Marshal(stringa)
if err != nil {
// Problem encoding stringa
panic(err)
}
fmt.Println(string(data))
https://play.golang.org/p/ogWKQ3M6tb
此外,您的json
结构标记无效; :
和引用字符串之间不能有空格:
type CommentResp struct {
Id string `json:"id"`
Name string `json:"name"`
}