GolangでJSONのエンコードとデコードをどのように実装するか?

Golangでは、encoding/jsonパッケージを使用してJSONのエンコードとデコードを実行することができます。以下は簡単な例です。

package main

import (
    "encoding/json"
    "fmt"
)

type Person struct {
    Name string `json:"name"`
    Age  int    `json:"age"`
}

func main() {
    // 编码为JSON
    person := Person{
        Name: "Alice",
        Age:  25,
    }
    jsonData, err := json.Marshal(person)
    if err != nil {
        fmt.Println("JSON encoding error:", err)
        return
    }
    fmt.Println(string(jsonData))

    // 解码JSON
    var decodedPerson Person
    err = json.Unmarshal(jsonData, &decodedPerson)
    if err != nil {
        fmt.Println("JSON decoding error:", err)
        return
    }
    fmt.Println(decodedPerson)
}

上記の例では、Person構造体を定義し、jsonタグを使用してJSON内でのフィールド名を指定しました。その後、json.Marshal関数を使用してPerson構造体をJSON文字列にエンコードし、json.Unmarshal関数を使用してJSON文字列をPerson構造体にデコードしました。

以下示例的出力結果は:

{"name":"Alice","age":25}
{Name:Alice Age:25}

これにより、私たちはJSONのエンコードとデコードを成功製することができました。

bannerAds