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のエンコードとデコードを成功製することができました。