[英]how to parse json into struct in swift
我有这样的结构:
struct Company {
let name:String
let id:Int
}
我想从JSON解析一组公司。
您能帮我在Swift中怎么做吗?
这是给未来的人们的。 在Swift 4中, JSONDecoder
是一个非常好的解决方案。
使用Alamofire的代码将如下所示-
Alamofire.request(Router.login(parameters: parameters)).responseJSON {
response in
switch response.result{
case .success(_):
let decoder = JSONDecoder()
guard let _ = response.data else{
return
}
do {
let loginDetails = try decoder.decode(LoginDetails.self, from: response.data!)
// get your details from LoginDetails struct
} catch let err{
print(err)
}
case .failure(let error):
print(error)
}
}
https://developer.apple.com/documentation/foundation/jsondecoder
https://medium.com/xcblog/painless-json-parsing-with-swift-codable-2c0beaeb21c1
希望这可以帮助!!!
不幸的是,JSON解析并不是一件容易的事。 您应该使用NSJSONSerialization类来做到这一点。
这里有很多示例可供参考。
在Swift3中,可以使用MappingAce将字典直接转换为结构
struct Company: Mapping {
let name:String
let id:Int
}
let companyInfo: [String : Any] = ["name" : "MappingAce", "id" : 1]
let company = Company(fromDic: companyInfo)
print(company.name)//"MappingAce"
print(company.id) // 1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.