Go での効率的な JSON 単一値解析
Python では、提供されている図に示すように、JSON オブジェクトから特定の値にアクセスするのは簡単です。例:
res = res.json() return res['results'][0]
ただし、Go では、より冗長な宣言アプローチが必要です。構造体を作成し、それに JSON をアンマーシャリングします:
type Quotes struct { AskPrice string `json:"ask_price"` } quote := new(Quotes) errJson := json.Unmarshal(content, "e) if errJson != nil { return "nil", fmt.Errorf("cannot read json body: %v", errJson) }
Go をさらに簡素化するには、JSON をマップ[文字列]インターフェイス{}にデコードし、そのキーによって目的の値にアクセスすることを検討してください:
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") } }
マップは柔軟性を提供しますが、明示的な型宣言のため、依然として構造体の方が望ましいと言えます。型アサーションの必要性を排除することでコードを簡素化します。
以上がGo で単一の JSON 値を効率的に解析するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。