JSON解码到字典[重复]

问题描述 投票:0回答:1

我需要将JSON解码为字典。 json具有String键,值为字符串或数字。

   let decoder = JSONDecoder()
   let dict = try decoder.decode([String: Any].self, from: data)

这引发了一个关于Any不可解码的异常。如果我使用[String:String],它会在需要字符串时查找有关查找数字的异常。

怎么做对了?

ios swift
1个回答
1
投票

将any转换为model并对其进行解码

struct Swifter: Decodable {
    let fullName: String
    let id: Int
    let twitter: URL
}

let json = """
    {
        "fullName": "Federico Zanetello",
        "id": 123456,
        "twitter": "http://twitter.com/zntfdr"
}
""".data(using: .utf8)! // our data in native (JSON) format
let myStruct = try JSONDecoder().decode(Swifter.self, from: json) // Decoding our data
print(myStruct) // decoded!!!!!

或者,如果你有儿子数据,你可以试试这个

let responseDict = try JSONSerialization.jsonObject(with: data!, options: .allowFragments) as! [String:Any]
© www.soinside.com 2019 - 2024. All rights reserved.