ホームページ >バックエンド開発 >Golang >golang リストを json に変換

golang リストを json に変換

WBOY
WBOYオリジナル
2023-05-10 09:29:06937ブラウズ

Go では、リストは非常に一般的なデータ構造です。リストを操作するとき、リストを JSON 形式に変換する必要がある場合があります。 JSON (JavaScript Object Notation) は、読み書きが簡単で、処理が簡単な軽量のデータ交換形式です。 Go 言語はリストを JSON 形式に簡単に変換するため、異なるプログラム間のデータ交換が簡単かつ信頼性の高いものになります。

以下では、リストを JSON に変換するいくつかの方法を紹介します。

  1. json.Marshal 関数を使用する

組み込みの関数があります。 Go の json .Marshalf 関数は、あらゆる構造、マップ型、または基本的なデータ型を JSON 形式に変換できます。

以下は、構造を JSON に変換する簡単な例です:

type Person struct {
    FirstName string `json:"first_name"`
    LastName  string `json:"last_name"`
    Age       int    `json:"age"`
}

func main() {
    p := Person{FirstName: "John", LastName: "Doe", Age: 30}
    json, err := json.Marshal(p)
}

上記のコードでは、人の基本情報を表す person という名前の構造を定義します。 json.Marshal を使用してこの構造を JSON 形式に変換し、変数 json に格納します。

  1. json.NewEncoder 関数の使用

json.Marshal 関数の使用に加えて、json.NewEncoder 関数を使用してリストを JSON に変換することもできます。以下に示すように:

type Person struct {
    FirstName string `json:"first_name"`
    LastName  string `json:"last_name"`
    Age       int    `json:"age"`
}

func main() {
    people := []Person{
        {FirstName: "John", LastName: "Doe", Age: 30},
        {FirstName: "Jane", LastName: "Doe", Age: 29},
    }

    var buf bytes.Buffer
    enc := json.NewEncoder(&buf)
    enc.Encode(people)
}

上記のコードでは、2 つの person 構造を含む people リストを定義します。次に、バッファーを作成し (bytes パッケージの Buffer タイプを使用)、json.NewEncoder 関数を使用してバッファーをエンコーダーとして作成しました。最後に、人物リストをエンコーダーの Encode メソッドに渡します。これにより、人物リストが JSON 形式に変換され、バッファーに保存されます。

概要

上記は、Go を使用してリストを JSON 形式に変換する方法を示す 2 つの簡単な例です。実際の開発では、通常、これらのメソッドまたはその他のサードパーティ ライブラリを使用して、JSON エンコードおよびデコードの問題を処理します。どの方法を使用する場合でも、変換プロセスは通常比較的シンプルで簡単です。このため、Go はクロスプラットフォーム アプリケーションや Web サービスを構築するための人気のプログラミング言語となっています。

以上がgolang リストを json に変換の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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