我是Go的新手。目前我有两个看起来像这样的数组:
words: ["apple", "banana", "peach"]
freq: [2, 3, 1]
其中" freq"将每个单词的计数存储在"单词"中。我希望将两个数组组合成一个看起来像
的Json格式的字节片[{"w":"apple","c":2},{"w":"banana","c":3},{"w":"peach","c":1}]
我如何实现这一目标?
目前我已经宣布了一个结构
type Entry struct {
w string
c int
}
当我遍历两个数组时,我做了
res := make([]byte, len(words))
for i:=0;i<len(words);i++ {
obj := Entry{
w: words[i],
c: freq[i],
}
b, err := json.Marshal(obj)
if err==nil {
res = append(res, b...)
}
}
return res // {}{}{}
它没有给我想要的结果。任何帮助表示赞赏。提前谢谢。
答案 0 :(得分:3)
json.Marshal需要导出结构字段。
你可以使用json标签让json带有小写字母键。
type Entry struct {
W string `json:"w"`
C int `json:"c"`
}
使用[] Entry生成输出json会更容易。 Sample code