我正在尝试使用fromJson分配JSON响应dart实体,但返回对象具有所有空值。
json如下所示:
{
"doc":{
"id":"6496772",
"name":"Test Document",
}
"custom_keys":[
{
"key": "X1",
"name":"X1"
},
{
"key": "X2",
"name":"X2"
},
]
}
我已创建测试实体,如下所示
class Test{
final String id;
final String name;
const Feature({
this.id,
this.name,
});
Feature.fromMap(Map<String, dynamic> map) :
id= map['id'],
name= map['name'];
}
API方法:
var request = await httpClient.getUrl(Uri.parse(url));
var response = await request.close();
if (response.statusCode == HttpStatus.OK) {
var json = await response.transform(UTF8.decoder).join();
print(json.toString());
var data = JSON.decode(json);
return new Test.fromMap(data['doc']);
//从return语句中获取null对象 有错误消息。可能是什么问题?
答案 0 :(得分:0)
null对象可能来自id= map['id'],
,而你的json只返回&#34; key&#34;和&#34;名称&#34;。
您必须将每个json元素映射到属性。将构造函数更改为
Feature.fromMap(Map<String, dynamic> map) :
id= map['key'],
name= map['name'];
可能会做到这一点。