golang では、文字列型を json オブジェクトに変換するために、標準ライブラリの json パッケージを使用できます。
まず、json.Marshal() 関数を使用して、golang のオブジェクトを json 形式の文字列に変換します。例:
type Person struct { Name string `json:"name"` Age int `json:"age"` } p := Person{Name: "Tom", Age: 29} jsonStr, err := json.Marshal(p) if err != nil { fmt.Println("json.Marshal failed:", err) } fmt.Println(string(jsonStr))
上記のコードは次の結果を出力します:
{"name":"Tom","age":29}
次に、json.Unmarshal() 関数を使用して json 文字列を golang のオブジェクトに変換します。例:
jsonStr := `{"name":"Tom","age":29}` var p Person err := json.Unmarshal([]byte(jsonStr), &p) if err != nil { fmt.Println("json.Unmarshal failed:", err) } fmt.Println(p.Name, p.Age)
上記のコードは次の結果を出力します:
Tom 29
json を解析するとき、タイプ []byte のパラメーターが使用されるため、必須タイプが必要であることに注意してください。変換は文字列型を[]バイト型に変換します。
さらに、 json.NewDecoder() 関数を直接使用して、json 形式文字列を解析して json オブジェクトにすることもできます。たとえば、
jsonStr := `{"name":"Tom","age":29}` var data interface{} decoder := json.NewDecoder(strings.NewReader(jsonStr)) err := decoder.Decode(&data) if err != nil { fmt.Println("json.Unmarshal failed:", err) } fmt.Println(data)
上記のコードは次の結果を出力します。 :
map[name:Tom age:29]
このようにして、golang の標準ライブラリ json パッケージを使用して文字列型を json オブジェクトに変換できます。
以上がgolang 文字列を JSON に変換の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。