Go での JSON 単一値の解析
JSON データの解析は、プログラミングにおける一般的なタスクです。 Python では、複雑なデータ構造を必要とせずに、JSON オブジェクトから特定の値を簡単に取得できます。ただし、Go では、構造体を使用して JSON データを処理する方が一般的です。
Go アプローチ:
Go では、伝統的に、構造体は JSON オブジェクトと一致するように宣言されます。 json.Unmarshal 関数は、JSON を構造体にアンマーシャルするために使用されます。ただし、このアプローチは、特に特定の値のみに興味がある場合、冗長で不便になる可能性があります。
代替アプローチ:
Go での JSON 解析を簡略化するには、次の代替方法を検討してください。アプローチ:
JSON をマップ[文字列]インターフェース{}にデコードします。これにより、JSON キーが対応する値にマッピングされます。 Interface{}.
[] 演算子を使用して、目的の JSON キーに関連付けられた値にアクセスします。
値が予期された型ではない場合は、型アサーションを使用して適切に処理します.
例:
これを示す Go の例を次に示します。アプローチ:
import ( "encoding/json" "fmt" ) func main() { b := []byte(`{"ask_price":"1.0"}`) data := make(map[string]interface{}) err := json.Unmarshal(b, &data) if err != nil { panic(err) } if price, ok := data["ask_price"].(string); ok { fmt.Println(price) } else { panic("wrong type") } }
この例では、JSON をマップにアンマーシャリングしてから、印刷前に文字列に型アサートされる「ask_price」値を抽出します。
注:
構造体は Go での JSON 解析に引き続き使用できますが、より明示的であり、 JSON からいくつかの特定の値のみが必要な場合は必要ありません。マップを使用する別のアプローチでは、JSON データを処理するためのより簡潔かつ柔軟な方法が提供されます。
以上がGo で JSON から単一の値を効率的に解析するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。