繁体   English   中英

如何将JSON快速解析为结构

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM