[英]Golang Array Of Struct To JSON
数组结构`下面的代码
package main
import (
"log"
)
type Fruit struct {
Name string `json:"name"`
Quantity int `json:"quantity"`
}
func main() {
a := Fruit{Name: "Apple", Quantity: 1}
o := Fruit{Name: "Orange", Quantity: 2}
var fs []Fruit
fs = append(fs, a)
fs = append(fs, o)
log.Println(fs)
}
` 运行它将生成如下输出。
[{Apple 1} {Orange 2}]
但我想要这样。
[{"name":"Apple","quantity":1},{"name":"Orange","quantity":2}]
要获得所需的输出,您可以使用encoding/json
包中的json.Marshal()
函数将Fruit
结构的fs
切片转换为 JSON 数组。
以下是如何执行此操作的示例:
package main
import (
"encoding/json"
"log"
)
type Fruit struct {
Name string `json:"name"`
Quantity int `json:"quantity"`
}
func main() {
a := Fruit{Name: "Apple", Quantity: 1}
o := Fruit{Name: "Orange", Quantity: 2}
var fs []Fruit
fs = append(fs, a)
fs = append(fs, o)
// Convert the slice to a JSON array
jsonArray, err := json.Marshal(fs)
if err != nil {
log.Fatal(err)
}
// Print the JSON array
log.Println(string(jsonArray))
}
这将打印所需的输出:
[{"name":"Apple","quantity":1},{"name":"Orange","quantity":2}]
注释你的结构是不够的,你需要encoding/json包:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.