繁体   English   中英

在 Swift 中将 Json 字符串转换为 Json object

[英]Convert Json string to Json object in Swift

I try to convert JSON string to a JSON object but after JSONSerialization the output is nil in JSON.

响应字符串:

{
 "resultCount":50, 
 "results": [
{
"screenshotUrls":[ "1.jpg", "2.jpg", "3.jpg"], 
"ipadScreenshotUrls":[ "3.jpg", "4.jpg", "5.jpg"], 
"features":["iosUniversal"], 
"supportedDevices":["iPhone5s-iPhone5s", "iPhone13-iPhone13"], 
"kind":"software", 
"genres":["Food & Drink", "Travel"]}, 

{
"screenshotUrls":[....

我尝试用下面的代码转换这个字符串:

let url = URL(string: "https://itunes.apple.com/search?term=yepp&entity=software")!
        let task = URLSession.shared.dataTask(with: url) {
            (data: Data?, response: URLResponse?, error: Error?) in
            
            if let error = error {
                print(error)
                return
            }
            

            let json = try! JSONSerialization.jsonObject(with: data!, options: []) as? ResponseDataModel

            print(json)
        }

ResponseDataModel这是我做的model。


import Foundation

// MARK: - ResponseDataModel
struct ResponseDataModel: Codable {
    let resultCount: Int
    let results: [Result]
}

// MARK: - Result
struct Result: Codable {
    let screenshotUrls, ipadScreenshotUrls: [String]
    let features: [String]
    let supportedDevices: [String]
    let kind: String
    let genres: [String]

}

你可以试试

let url = URL(string: "https://itunes.apple.com/search?term=yepp&entity=software")!
let task = URLSession.shared.dataTask(with: url) {
    (data: Data?, response: URLResponse?, error: Error?) in
    guard let data = data else { return }
    do {
        let res = try JSONDecoder().decode(ResponseDataModel.self, from: data)
        print(res)
        
    }
    catch {
        print(error)
    } 
}
task.resume()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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