Go还是新手。我试图开始实质上打印一个结构,其键和值尽可能接近json。
我目前正在这样做的方式就是在它自己的服务器上使用GO,并且每当发出get请求时,它都会返回JSON。我想将GO作为可执行文件放在我的主Rails服务器上,然后只返回类似Println的JSON(或任何使它保持结构形式的东西)。问题是当我尝试走这条路线时,结构中的键没有用它打印,我基本上必须将键添加为返回字符串的一部分。
有没有一种简单的方法来保持正确的键和值(及其类型,所以如果值是一个数组,保持数组)
答案 0 :(得分:1)
在Go:
中将结构作为JSON打印到STDOUT是相当简单的package main
import (
"encoding/json"
"fmt"
"log"
"os"
)
func main() {
foo := struct {
Hello string
JSON string
}{
Hello: "world",
JSON: "stuff",
}
fmt.Printf("foo struct : %+v\n", foo)
if err := json.NewEncoder(os.Stdout).Encode(foo); err != nil {
log.Fatal(err)
}
}
http://play.golang.org/p/wqqGJ1V_Zg
该程序将输出以下内容:
foo struct : {Hello:world JSON:stuff}
{"Hello":"world","JSON":"stuff"}
从你的问题我真的不明白你的意思。在任何情况下,如果您想将结构打印为JSON,或者您只想将结构打印为尽可能接近JSON,那么您的答案就在那里。