在颤振中解码字符串 json 时出错,"type String is not subtype of type Map"



再次在flutter中有一些疑问,我需要解码从api收到的json,但它给了我一个转换错误,这是因为json是一个反序列化的字符串,这是解决这个细节的一种方法。非常感谢你的帮助。

String strVar = "{ "status": "1", "message": "test",
"cars": [ { "carId": "1", "carName": "Car N°1" }, 
{ "carId": "2", "carName": "Car N°1" }, 
{ "businessId": "3", "carName": "Car N°1" }
] }"
//Here error
Map<String,dynamic> mapAPI = json.decode(strVar);

若要使用多行字符串文字,请将字符串封装在三引号'''中,或者只使用一行。

单线

String strVar = "{ "status": "1", "message": "test","cars": [ { "carId":"1", "carName": "Car N°1" }, { "carId": "2", "carName": "Car N°1" }, { "businessId": "3", "carName": "Car N°1" }] }";

Map<String, dynamic> map = jsonDecode(strVar);

print(map);

多行

String strVar = '''{ "status": "1", "message": "test",
"cars": [ { "carId": "1", "carName": "Car N°1" }, 
{ "carId": "2", "carName": "Car N°1" }, 
{ "businessId": "3", "carName": "Car N°1" }
] }'''; // String encased in 3 single-quotations at start and end
Map<String, dynamic> map = jsonDecode(strVar);
print(map);

相关内容

最新更新