Dart Json反序列化



使用flutter文档我试图学习json反序列化。但是我得到了以下错误"参数类型'Map<String,>'不能分配给参数类型'String'">

下面是代码

import 'dart:convert';
User userFromJson(String str) => User.fromJson(json.decode(str));


void main() {

var jsonString = {
"name": "Martin Perumala",
"email": "martinarxxxxx@gmail.com"
};
User user = User.fromJson(jsonDecode(jsonString) as Map<String,dynamic>);

}

class User {
User({
required this.name,
required this.email,
});
String name;
String email;
factory User.fromJson(Map<String, dynamic> json) => User(
name: json["name"],
email: json["email"],
);

}

您正在尝试解码已经是Map的东西!

在你的例子中,你不需要解码
User user = User.fromJson(jsonString);

或者解码字符串

var jsonString =
'{"name": "Martin Perumala","email": "martinarxxxxx@gmail.com"}';
User user = User.fromJson(jsonDecode(jsonString));

最新更新