ホームページ  >  記事  >  バックエンド開発  >  ループを使わずに JSON を Go マップにアンマーシャリングする方法は?

ループを使わずに JSON を Go マップにアンマーシャリングする方法は?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-10-26 21:33:02195ブラウズ

 How to Unmarshal JSON into a Go Map without Loops?

JSON をマップにアンマーシャルする

この質問は、JSON データを Go マップにロードするという課題に対処します。具体的には、文字列の配列を含む単純な JSON ファイルが提供され、その目的は、果物のリストを文字列キーとインターフェース値を含むマップにアンマーシャリングすることです。{}この質問では、マップに要素を挿入するためにループの使用を回避する効率的な方法があるかどうかも尋ねています。

この質問に答えるには、Go の強力なエンコーディング/json パッケージを利用できます。 JSON データを直接 map[string][]string にアンマーシャリングすることで、反復と手動挿入の必要性を回避できます。

<code class="go">package main

import "fmt"
import "encoding/json"

func main() {
    src_json := []byte(`{"fruits":["apple","banana","cherry","date"]}`)
    var m map[string][]string
    err := json.Unmarshal(src_json, &m)
    if err != nil {
        panic(err)
    }
    fmt.Printf("%v", m["fruits"][0]) //apple
}</code>

このコードは、JSON をキー「フルーツ」が含まれるマップに効率的に変換します。 " は文字列のリストにマップされます。ループや手動挿入を回避し、簡潔かつパフォーマンスの高いものにします。あるいは、値を汎用インターフェースとして保持したい場合は、ターゲット タイプとして map[string][]interface{} を使用することもできます。

以上がループを使わずに JSON を Go マップにアンマーシャリングする方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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