ホームページ >バックエンド開発 >Golang >golang 文字列を JSON に変換

golang 文字列を JSON に変換

WBOY
WBOYオリジナル
2023-05-13 10:04:073328ブラウズ

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。