Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
fromMap正在从json响应中分配空值_Json_Dart_Flutter - Fatal编程技术网

fromMap正在从json响应中分配空值

fromMap正在从json响应中分配空值,json,dart,flutter,Json,Dart,Flutter,我试图使用fromJson分配JSON响应dart实体,但返回对象具有所有空值 json如下所示: { "doc":{ "id":"6496772", "name":"Test Document", } "custom_keys":[ { "key": "X1", "name":"X1" }, { "key": "X2", "nam

我试图使用fromJson分配JSON响应dart实体,但返回对象具有所有空值

json如下所示:

{
   "doc":{
      "id":"6496772",
      "name":"Test Document",
      }
      "custom_keys":[
        {
        "key": "X1",
        "name":"X1"
        },
        {
        "key": "X2",
        "name":"X2"
        },
      ]    
}
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']); 
我创建了如下测试实体

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'];
//从上面的返回语句中获取null对象
有错误消息。有什么问题吗?

空对象可能来自
id=map['id'],
,而json只返回“key”和“name”

您必须将每个json元素映射到一个属性。将构造函数更改为

Feature.fromMap(Map<String, dynamic>  map) :
    id= map['key'],
    name= map['name'];
Feature.fromMap(地图地图):
id=map['key'],
name=map['name'];

可能会成功。

你找到解决办法了吗?