json.Marshal 関数を使用して構造体を JSON 文字列に変換する
Go 言語では、json.Marshal 関数を使用して構造体を JSON 文字列に変換できます。構造体は複数のフィールドで構成されるデータ型であり、JSON は一般的に使用される軽量のデータ交換形式です。構造を JSON 文字列に変換すると、異なるシステム間でのデータ交換が簡単になります。
以下はサンプル コードです:
package main import ( "encoding/json" "fmt" ) // 定义一个结构体 type Person struct { Name string `json:"name"` Age int `json:"age"` Gender string `json:"gender"` } func main() { // 创建一个Person对象 p := Person{ Name: "张三", Age: 20, Gender: "男", } // 将结构体转换为JSON字符串 jsonData, err := json.Marshal(p) if err != nil { fmt.Println("转换JSON失败:", err) return } // 输出JSON字符串 fmt.Println(string(jsonData)) }
上記のコードでは、最初に、 Name、Age、Gender の 3 つのフィールドを含む Person という名前の構造体を定義します。 JSON に変換する場合、フィールドの後に json:"xxx"### タグを追加することでフィールド名を指定できます。
main 関数で Person オブジェクトが作成され、そのフィールドに値が割り当てられます。次に、
json.Marshal 関数を呼び出して、Person 構造を JSON 文字列に変換します。この関数は、タイプ
[]byte のスライスとエラーを返します。変換が成功した場合は、
jsonData に変換された JSON 文字列が保存され、変換が失敗した場合は、
err にエラー情報が保存されます。
fmt.Println 関数を使用して、変換された JSON 文字列を出力します。この例では、出力結果は
{"name":"Zhang San","age":20,"gender":"male"} となります。
以上がjson.Marshal関数を使用して構造体をJSON文字列に変換しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。