Go言語でJson変換を行う方法を詳しく解説
近年、クラウドコンピューティング、ビッグデータ、人工知能などの最先端技術の急速な発展に伴い、コンピュータプログラミング言語も継続的に改良・更新されています。 Google が開発したプログラミング言語である Go 言語 (Golang) は、そのシンプルさ、読みやすさ、効率性、そしてマルチコア CPU を最大限に活用できる能力により、ますます幅広い注目と応用を集めています。 Go 言語では、Json データの処理は非常に一般的なタスクです。では、Go 言語で Json を変換するにはどうすればよいでしょうか?詳細な回答は以下で提供されます。
まず、golang の JSON 処理ライブラリを理解する必要があります。このライブラリには、encode と decode という 2 つのメソッドが用意されており、それぞれ Json データのエンコードとデコードを完了するために使用されます。 master は decode メソッドの使用です。
golang の標準ライブラリ encoding/json
には、Unmarshal()
という関数が用意されており、関数のプロトタイプは以下のとおりです
func Unmarshal(data []byte, v interface{}) error
パラメータの説明:
-
data []byte
: デコードする JSON データ; -
v インターフェース{}
: 構造体のメンバー変数を使用しますtype 名前は JSON データを接続するために JSON のキーにマッピングされます。通常、このパラメータによって渡される構造は、JSON で特定のキーを指定することによって特別に処理されます。
以下は例です。具体的な使用法を示します:
JSON データをクライアントに提供できる Web API があるとします。JSON データには、文字列のキーと値のペア "name":"Wade "
が含まれています。 、整数のキーと値のペア "age":33
、および浮動小数点のキーと値のペア "score":98.5
。次に、この JSON データをデコードして構造体変数に保存する必要があります。
定義構造は次のとおりです:
type Player struct { Name string `json:"name"` Age int `json:"age"` Score float64 `json:"score"` }
main() 関数の JSON データのデコードは 1 行のコードで完了できます:
func main() { jsonStr := `{"name":"Wade","age":33,"score":98.5}` var player Player json.Unmarshal([]byte(jsonStr), &player) fmt.Println(player) // 输出:{Wade 33 98.5} }
上記のコードを解析します。
-
jsonStr
: 解析する必要がある Json 文字列; -
var player Player
:Player 型の変数を定義します
; -
json.Unmarshal()
: Json をplayer
変数にデコードします; -
fmt.Println(player)
:Player
タイプでフォーマットして出力します。
上記のコードから、Go 言語での JSON デコード プロセスが非常にシンプルで読みやすいことがわかります。
さらに、Player タイプの複数のインスタンスを含む構造体がある場合は、次のように処理できます。
type Team struct { ID int `json:"id"` Name string `json:"name"` Members []Player `json:"members"` } func main() { jsonStr := `{"id":1,"name":"Lakers","members":[{"name":"Wade","age":33,"score":98.5},{"name":"James","age":36,"score":100}]}` var team Team json.Unmarshal([]byte(jsonStr), &team) fmt.Printf("%+v\n", team) }
上記のコードでは、構造体のメンバー Team 変数 Membersはプレーヤーの配列です。この機能を使用して、複雑な JSON データを解析できます。
ここまで、Go 言語が JSON 変換を行う仕組みを紹介しましたが、これがすべてではありません。実際の開発では、多層ネストや同レベル配列など、非常に複雑な JSON ネスト構造に遭遇することがあります。このとき、JSON デコード ライブラリを深く理解し、柔軟に使用する必要があります。
概要:
この記事では、JSON デコード ライブラリを使用して Go 言語で Json 変換を完了する方法を学びました。同時に、サンプル コードを使用してデモも行いました。詳しい操作手順です。これは非常に基本的な関数であり、実際のプログラミングではよくこのような状況に遭遇し、使用します。この基本操作をマスターすることは、プログラミング作業をより効率的に完了するのに大いに役立ちます。
以上がGo言語でJson変換を行う方法を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック









OpenSSLは、安全な通信で広く使用されているオープンソースライブラリとして、暗号化アルゴリズム、キー、証明書管理機能を提供します。ただし、その歴史的バージョンにはいくつかの既知のセキュリティの脆弱性があり、その一部は非常に有害です。この記事では、Debian SystemsのOpenSSLの共通の脆弱性と対応測定に焦点を当てます。 Debianopensslの既知の脆弱性:OpenSSLは、次のようないくつかの深刻な脆弱性を経験しています。攻撃者は、この脆弱性を、暗号化キーなどを含む、サーバー上の不正な読み取りの敏感な情報に使用できます。

この記事では、プロファイリングの有効化、データの収集、CPUやメモリの問題などの一般的なボトルネックの識別など、GOパフォーマンスを分析するためにPPROFツールを使用する方法について説明します。

この記事では、GOでユニットテストを書くことで、ベストプラクティス、モッキングテクニック、効率的なテスト管理のためのツールについて説明します。

Go Crawler Collyのキュースレッドの問題は、Go言語でColly Crawler Libraryを使用する問題を調査します。 �...

この記事では、GOプログラミングのGo FMTコマンドについて説明します。これは、公式スタイルのガイドラインに準拠するためのコードをフォーマットします。コードの一貫性、読みやすさ、およびスタイルの議論を削減するためのGO FMTの重要性を強調しています。 Best Practices fo

バックエンド学習パス:フロントエンドからバックエンドへの探査の旅は、フロントエンド開発から変わるバックエンド初心者として、すでにNodeJSの基盤を持っています...

この記事では、Debianシステムの下でPostgreSQLデータベースを監視するためのさまざまな方法とツールを紹介し、データベースのパフォーマンス監視を完全に把握するのに役立ちます。 1. PostgreSQLを使用して監視を監視するビューPostgreSQL自体は、データベースアクティビティを監視するための複数のビューを提供します。 PG_STAT_REPLICATION:特にストリームレプリケーションクラスターに適した複製ステータスを監視します。 PG_STAT_DATABASE:データベースサイズ、トランザクションコミット/ロールバック時間、その他のキーインジケーターなどのデータベース統計を提供します。 2。ログ分析ツールPGBADGを使用します
