[解決済み] 未処理の例外です。InternalLinkedHashMap<String, dynamic>' は 'List<dynamic>' 型のサブタイプではありません。
2023-01-28 05:45:28
質問
サーバーからJSONのレスポンスを取得し、コンソールに出力しようとしています。
Future<String> login() async {
var response = await http.get(
Uri.encodeFull("https://etrans.herokuapp.com/test/2"),
headers: {"Accept": "application/json"});
this.setState(() {
data = json.decode(response.body);
});
print(data[0].name);
return "Success!";
}
未処理の例外: タイプ '_InternalLinkedHashMap<String, dynamic>' は、'List' タイプのサブタイプではありません。 not a subtype of type 'List
理由は何でしょうか?
どのように解決するのですか?
ここでは、よくある2つの方法を紹介します。
-
応答が以下のようなjson配列の場合
[ { key1: value1, key2: value2, key3: value3, }, { key1: value1, key2: value2, key3: value3, }, ..... ]
次に
data[0]["name"]
ではなくdata[0].name
name プロパティを持つオブジェクトにキャストしない限りはdata[0].name
このようにキャストします。
data = json.decode(response.body).cast<ObjectName>();
ObjectName
は好きなオブジェクト(内蔵またはカスタム)を指定できます。ただし、name プロパティを持つことを確認してください。 -
のようなJSONオブジェクトの場合、レスポンスは
{ dataKey: [ { key1: value1, key2: value2, key3: value3, } ] }
次に
json.decode
が返されます。 地図 ではなく リストMap<String, dynamic> map = json.decode(response.body); List<dynamic> data = map["dataKey"]; print(data[0]["name"]);
関連
-
[解決済み] json gem のインストール中にエラー 'mkmf.rb can't find header files for ruby' が発生する。
-
[解決済み] Golang で文字列を構造体のようにアンマーシャリングする
-
[解決済み] Azure VMのエラーです。"あなたのアカウントは、このデバイスを使用できないように設定されています。詳細については、システム管理者にお問い合わせください" [終了しました]。
-
[解決済み] 複数の配列を持つJSONオブジェクトを作るにはどうしたらいいですか?
-
[解決済み] なぜlist.join(string)ではなくstring.join(list)なのでしょうか?
-
[解決済み] なぜList<T>を継承しないのですか?
-
[解決済み] ASP.NETでJSONを単純なDictionary<string,string>にデシリアライズするにはどうすればよいですか?
-
[解決済み] JSONの二重引用符をエスケープする方法
-
jsonファイルのインポートエラー、TypeError expected string or buffer
-
[解決済み] bashの変数をjqに渡す
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] マニフェスト 行: 1, 列: 1, 構文エラー
-
[解決済み] VBScriptによるJSONのデコード/エンコード
-
stdClass 型のオブジェクトを配列として使用できない
-
[解決済み] 複数の配列を持つJSONオブジェクトを作るにはどうしたらいいですか?
-
[解決済み] Notepad++でJSONを再フォーマットする方法は?
-
jsonファイルのインポートエラー、TypeError expected string or buffer
-
json.loadsがエラーを報告します。二重引用符で囲まれたプロパティ名を期待:行1列2(char 1)
-
[解決済み] bashの変数をjqに渡す
-
[解決済み] Swift Codableからプロパティを除外する方法は?
-
[解決済み] UnixコマンドラインJSONパーサー?[クローズド]