gpt4 book ai didi

android - 在 flutter 上解析 json 时出错。类型 '_InternalLinkedHashMap' 不是类型转换中类型 'ResultData' 的子类型

转载 作者:IT王子 更新时间:2023-10-29 07:09:42 28 4
gpt4 key购买 nike

我有如下的 json。

{  
"result_data":{
"id":"b57457b0-4f73-11e8-92ae-01912016d38c",
"rates":[
{ },
{ }
]
}
}

我想解析,下面是我解析它的代码。获取“result_data”

class RootModel {
ResultData resultData;

RootModel(this.resultData);

RootModel.fromJSON(Map<String, dynamic> response) {
var list = response['result_data'] as ResultData;
print(list.runtimeType);
}
}

解析结果数据对象。

class ResultData {
String id;
List<Rate> rates;
ResultData(this.id, this.rates);

ResultData.fromJSON(Map<String, dynamic> parsedJson) {
this.id = parsedJson['id'] as String;
this.rates = (parsedJson['rates'] as List)
.map((json) => Rate.fromJSON(json))
.toList();
}
}

进一步的费率模型还有其他模型和模型列表。我得到的上述代码的错误是:

 E/flutter: [ERROR:flutter/shell/common/shell.cc(184)] Dart Error: Unhandled exception:
type '_InternalLinkedHashMap<String, dynamic>' is not a subtype of type 'ResultData' in type cast
#0 new RootModel.fromJSON (package:movies_streams/models/RootModel.dart:16:40)

最佳答案

您不能将 map 转换到 ResultData。

class RootModel {
ResultData resultData;

RootModel(this.resultData);

RootModel.fromJSON(Map<String, dynamic> response) {
// var list = response['result_data'] as ResultData;
var list = ResultData.fromJSON(response['result_data']);
print(list.runtimeType);
}
}

关于android - 在 flutter 上解析 json 时出错。类型 '_InternalLinkedHashMap<String, dynamic>' 不是类型转换中类型 'ResultData' 的子类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54181469/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com