解码数据时得到零值
getting nil value while decoding the data
api 的响应。
["data": {
email = "sm@bl.com";
firstName = ll;
lastName = "mm!";
role = user;
token = "Bearer xxxxxxxxx";
}, "status": 200, "message": Record Sucessfully Inserted.]
根据我创建的结构的响应
struct NewUser: Codable {
var message: String?
var data: NewUserData?
var status: Int?
}
struct NewUserData: Codable {
var email: String?
var firstName: Int?
var lastName: String?
var role: String?
var token: String?
}
如果我不使用 JSONDecoder 是工作文件,如下面的代码
let json = try JSONSerialization.jsonObject(with: data!, options: .allowFragments) as! Dictionary<String, Any>
print(json)
它工作正常,但当我尝试遵循 JSONDecoder
let jsondecode = JSONDecoder()
let newUserResponse = try? jsondecode.decode(NewUser.self, from: data!)
print(newUserResponse)
newUserResponse 打印 nil 但它应该打印一些响应。找不到问题。
看看名字。 (顺便说一句,这就是答案)。
为了调试,打印原始 JSON 数据,而不是处理它的结果。您声称 API 的响应无论如何都是无效的 JSON。
并且使用“.allowFragments”表示您一直在盲目复制一些代码而没有理解它。如果您不同意,那么您可以 post 它的作用以及您使用它的原因。
api 的响应。
["data": {
email = "sm@bl.com";
firstName = ll;
lastName = "mm!";
role = user;
token = "Bearer xxxxxxxxx";
}, "status": 200, "message": Record Sucessfully Inserted.]
根据我创建的结构的响应
struct NewUser: Codable {
var message: String?
var data: NewUserData?
var status: Int?
}
struct NewUserData: Codable {
var email: String?
var firstName: Int?
var lastName: String?
var role: String?
var token: String?
}
如果我不使用 JSONDecoder 是工作文件,如下面的代码
let json = try JSONSerialization.jsonObject(with: data!, options: .allowFragments) as! Dictionary<String, Any>
print(json)
它工作正常,但当我尝试遵循 JSONDecoder
let jsondecode = JSONDecoder()
let newUserResponse = try? jsondecode.decode(NewUser.self, from: data!)
print(newUserResponse)
newUserResponse 打印 nil 但它应该打印一些响应。找不到问题。
看看名字。 (顺便说一句,这就是答案)。
为了调试,打印原始 JSON 数据,而不是处理它的结果。您声称 API 的响应无论如何都是无效的 JSON。
并且使用“.allowFragments”表示您一直在盲目复制一些代码而没有理解它。如果您不同意,那么您可以 post 它的作用以及您使用它的原因。