簡體   English   中英

Golang 結構數組到 JSON

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM