如何将某些json文件解析为dart中的List <map>?

时间:2019-05-15 22:05:21

标签: json parsing serialization dart flutter

我写了this code来做。我的API可以正常使用,没有问题。当我想打印Product class字段之一时,我的代码有效,但是当我想将所有json文件解析为Map并将其添加到列表中时,我的代码却无效。这是错误:

Unhandled exception:
NoSuchMethodError: The method 'add' was called on null.
Receiver: null
Tried calling: add(Instance of 'Product')
#0      Object.noSuchMethod  (dart:core-patch/object_patch.dart:50:5)
#1      ProductNetwork.fetchProduct
package:dart_project/product.dart:62
<asynchronous suspension>
#2      main
package:dart_project/main.dart:5
<asynchronous suspension>
#3      _startIsolate.<anonymous closure>  (dart:isolate-patch/isolate_patch.dart:300:19)
#4      _RawReceivePortImpl._handleMessage  (dart:isolate-patch/isolate_patch.dart:171:12)
Exited (255)

我的code有什么问题?

2 个答案:

答案 0 :(得分:0)

这不起作用,因为您正在List的构造函数中请求一个ProductNetwork,但没有传递一个,因此您的List将为空,{{1 }}方法不适用于null。实际上,您是在声明add之后立即对其进行初始化,但是此初始化将被构造方法所覆盖,为null。从构造函数中删除List或将List传递给它。

这应该有效:

List

答案 1 :(得分:0)

尝试删除“ ProductNetwork({this.allProducts});”