簡體   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