[英]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.