Dart json.decode可以';t解码到地图<;字符串,字符串>;
我的代码:Dart json.decode可以';t解码到地图<;字符串,字符串>;,json,dart,Json,Dart,我的代码: import 'dart:convert'; String jsonString = '''{ "a": "g", "b": "h", "c": "j", "d": "k" }'''; Map<String, String> map = json.decode(jsonString); 导入'dart:convert'; 字符串jsonString='''{ “a”:“g”, “b”:“h”, “c”:“j”, “d”:“k” }'''; Map Map=json.
import 'dart:convert';
String jsonString = '''{
"a": "g",
"b": "h",
"c": "j",
"d": "k"
}''';
Map<String, String> map = json.decode(jsonString);
导入'dart:convert';
字符串jsonString='''{
“a”:“g”,
“b”:“h”,
“c”:“j”,
“d”:“k”
}''';
Map Map=json.decode(jsonString);
获取错误:
Unhandled exception:
type '_InternalLinkedHashMap<String, dynamic>' is not a subtype of type 'Map<String, String>'
#0 main (file:///...)
#1 _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:298:32)
#2 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:171:12)
未处理的异常:
类型“\u InternalLinkedHashMap”不是类型“Map”的子类型
#0主(file:///...)
#1_星状。(省道:隔离补片/隔离补片。省道:298:32)
#2 RawReceivePortImpl.handleMessage(dart:隔离补丁/隔离补丁。dart:171:12)
地图…
和地图地图…
我们正在工作
最后,我尝试对不同的JSON进行反序列化
Map
,它给了我相同的错误,因此我决定首先使用基本的Map
,以更好地了解我做错了什么以确保使用该方法将JSON转换为指定的值
所以你的代码变成了
导入'dart:convert';
空干管(){
字符串jsonString='''
{
“a”:“g”,
“b”:“h”,
“c”:“j”,
“d”:“k”
}''';
Map Map=Map.castFrom(json.decode(jsonString));
印刷(地图);
}
注意,如果类型不兼容,它将抛出。你应该总是考虑处理它。尝试<代码> map data = map。如果此操作仍然失败,请检查JSON数据中的所有值是否都是StringThis类型,是否可以将其作为答案发布?