ホームページ バックエンド開発 Golang Encoding/json パッケージで提供される関数を使用して、JSON 文字列をエンコードおよびデコードします。

Encoding/json パッケージで提供される関数を使用して、JSON 文字列をエンコードおよびデコードします。

Jul 25, 2023 pm 05:41 PM
json コーディング デコード プログラミングエンコーディング

encoding/json パッケージで提供される関数を使用して、JSON 文字列をエンコードおよびデコードします

JSON (JavaScript Object Notation) は一般的に使用されるデータ交換形式であり、フロントエンドとバックエンドで広く使用されていますデータの送信と保存。 Go 言語の標準ライブラリのencoding/json パッケージは、JSON 文字列を簡単にエンコードおよびデコードできる一連の関数を提供します。

Go 言語では、構造体を使用して JSON オブジェクトを表現し、エンコーディング/json パッケージで提供される Marshal 関数と Unmarshal 関数を使用してエンコードおよびデコードできます。

まず、JSON 文字列のエンコードを見てみましょう。エンコードとはGo言語の構造体オブジェクトをJSON文字列に変換することです。

コード例:

package main

import (
    "encoding/json"
    "fmt"
)

type Person struct {
    Name   string
    Age    int
    Gender string
}

func main() {
    p := Person{
        Name:   "Alice",
        Age:    25,
        Gender: "Female",
    }

    // 使用json.Marshal函数对Person对象进行编码,返回一个字节数组
    jsonBytes, err := json.Marshal(p)
    if err != nil {
        fmt.Println("JSON编码失败:", err)
        return
    }

    // 将字节数组转换为字符串
    jsonString := string(jsonBytes)

    fmt.Println(jsonString)
}

上記のコードを実行すると、出力結果は次のようになります:

{"Name":"Alice","Age":25,"Gender":"Female"}

エンコードされた JSON 文字列が元の person オブジェクトに 1 対で対応していることがわかります。 -one. 各オブジェクトのフィールドは、JSON 文字列のキーと値のペアに対応します。エンコードされた JSON 文字列は元の順序を保持します。

次に、JSON 文字列のデコードを見てみましょう。デコードとは、JSON文字列をGo言語の構造体オブジェクトに変換することです。

コード例:

package main

import (
    "encoding/json"
    "fmt"
)

type Person struct {
    Name   string
    Age    int
    Gender string
}

func main() {
    jsonString := `{"Name":"Alice","Age":25,"Gender":"Female"}`

    // 将JSON字符串转换为字节数组
    jsonBytes := []byte(jsonString)

    // 使用json.Unmarshal函数对JSON字符串进行解码
    var p Person
    err := json.Unmarshal(jsonBytes, &p)
    if err != nil {
        fmt.Println("JSON解码失败:", err)
        return
    }

    fmt.Println(p)
}

上記のコードを実行すると、出力結果は次のようになります:

{Alice 25 Female}

デコードされた Person オブジェクトが元の JSON 文字列に 1 対 1 で対応していることがわかります。 -one、各キーと値のペアはオブジェクトのフィールドに対応します。デコードされたフィールドは、元のデータ型を保持します。

エンコードとデコードにencoding/jsonパッケージを使用する場合、Go言語の構造体オブジェクトのフィールド名がJSON文字列のキー名と順番に一致していることを確認する必要があることに注意してください。変換を正しく実行するために。

上記は、encoding/json パッケージを使用して JSON 文字列をエンコードおよびデコードするサンプル コードです。これらの関数を利用することで、JSONデータをGo言語で簡単に処理することができます。

以上がEncoding/json パッケージで提供される関数を使用して、JSON 文字列をエンコードおよびデコードします。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットAIツール

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

ホットトピック

PHP 配列を JSON に変換するためのパフォーマンス最適化のヒント PHP 配列を JSON に変換するためのパフォーマンス最適化のヒント May 04, 2024 pm 06:15 PM

PHP 配列を JSON に変換するためのパフォーマンスの最適化方法には、JSON 拡張機能と json_encode() 関数の使用、文字エスケープを回避するためのバッファーの使用、およびサードパーティのエンコード結果の使用の検討が含まれます。 JSONエンコーディングライブラリ。

GolangでJSONデータをデータベースに保存するにはどうすればよいですか? GolangでJSONデータをデータベースに保存するにはどうすればよいですか? Jun 06, 2024 am 11:24 AM

JSON データは、gjson ライブラリまたは json.Unmarshal 関数を使用して MySQL データベースに保存できます。 gjson ライブラリは、JSON フィールドを解析するための便利なメソッドを提供します。json.Unmarshal 関数には、JSON データをアンマーシャリングするためのターゲット型ポインターが必要です。どちらの方法でも、SQL ステートメントを準備し、データをデータベースに永続化するために挿入操作を実行する必要があります。

Jackson ライブラリのアノテーションは、JSON のシリアル化と逆シリアル化をどのように制御しますか? Jackson ライブラリのアノテーションは、JSON のシリアル化と逆シリアル化をどのように制御しますか? May 06, 2024 pm 10:09 PM

Jackson ライブラリのアノテーションは、JSON のシリアル化と逆シリアル化を制御します。 シリアル化: @JsonIgnore: プロパティを無視します @JsonProperty: 名前を指定します @JsonGetter: get メソッドを使用します @JsonSetter: set メソッドを使用します Deserialization: @JsonIgnoreProperties: プロパティ @ JsonProperty を無視します:名前を指定 @JsonCreator: コンストラクターを使用 @JsonDeserialize: カスタム ロジック

PHP 関数を使用して JSON データを処理するにはどうすればよいですか? PHP 関数を使用して JSON データを処理するにはどうすればよいですか? May 04, 2024 pm 03:21 PM

PHP には、JSON データを処理する次の関数が用意されています。 JSON データの解析: json_decode() を使用して、JSON 文字列を PHP 配列に変換します。 JSON データを作成する: json_encode() を使用して、PHP 配列またはオブジェクトを JSON 文字列に変換します。 JSON データの特定の値を取得する: PHP 配列関数を使用して、キーと値のペアや配列要素などの特定の値にアクセスします。

PHP 配列を JSON に変換するための簡単なヒント PHP 配列を JSON に変換するための簡単なヒント May 03, 2024 pm 06:33 PM

PHP 配列は、 json_encode() 関数を使用して JSON 文字列に変換できます (例: $json=json_encode($array);)。逆に、 json_decode() 関数を使用して JSON から配列に変換できます ($array= json_decode($json);) 。その他のヒントには、深い変換の回避、カスタム オプションの指定、サードパーティ ライブラリの使用などがあります。

JSONに基づいたRSSの代替品はありますか? JSONに基づいたRSSの代替品はありますか? Apr 10, 2025 am 09:31 AM

JSonFeedは、JSONベースのRSSの代替品であり、その利点のシンプルさと使いやすさがあります。 1)JSonFeedはJSON形式を使用しますが、これは簡単に生成して解析できます。 2)動的生成をサポートし、最新のWeb開発に適しています。 3)JSonFeedを使用すると、コンテンツ管理の効率とユーザーエクスペリエンスが向上する可能性があります。

JSON対XML:RSSがXMLを選択した理由 JSON対XML:RSSがXMLを選択した理由 May 05, 2025 am 12:01 AM

RSSは、JSONの代わりにXMLを選択しました。1)XMLの構造と検証機能は、RSS複雑なデータ構造のニーズに適したJSONよりも優れています。 2)その時点でXMLは広くサポートされていました。 3)RSSの初期バージョンはXMLに基づいており、標準になっています。

PHP 配列を JSON に直接変換するためのヒント PHP 配列を JSON に直接変換するためのヒント May 02, 2024 pm 06:48 PM

PHP には、配列を JSON に直接変換する方法が用意されています。json_encode($array) 構文を使用します。ここで、$array は変換される配列です。オプションのパラメーターは、インデント、数値書式設定、エスケープ文字の無効化などの出力書式設定を制御します。実際の例では、連想配列を JSON 文字列に変換して出力する方法を示します。

See all articles