Go で JSON ファイルを JSON オブジェクトとして読み取る
JSON ファイルを変数に読み込もうとすると、その後のループ処理が試行され、 JSON オブジェクト値を取得すると、問題のある結果が生じる可能性があります。 Marshal コマンドを使用した最初の試行では数値出力が生成されますが、その後 JSON 値を構造体に格納して MarshalIndent を使用しようとすると文字列出力が生成されます。
成功するには、json.Unmarshal によってインターフェイス値が設定される必要があります。ポインターになってください。正しいアプローチは次のとおりです。
plan, _ := ioutil.ReadFile(filename) var data interface{} err := json.Unmarshal(plan, &data)
最初の試行で確認されたエラー「Unmarshal(nil)」は、ファイルの読み取りに問題があることを示しています。 ioutil.ReadFile によって返されるエラーを確認することは重要です。
さらに、アンマーシャルで空のインターフェイスを使用するには、基になる値に Go プリミティブ型としてアクセスするための型アサーションが必要です。優れたアプローチには、json.Unmarshal で使用する具体的な構造を定義することが含まれます。
以上がGo で JSON ファイルを適切に読み取って解析するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。