簡體   English   中英

如何快速從JSON獲取特定值

[英]How to get specific value from JSON in swift

我可以成功解析json文件中的所有數據。 在集合視圖中的應用程序中,我嘗試僅將1個圖像數據解析為單元格,但是我將所有數據與之相關。 我將與您共享JSON代碼和解析代碼,最后是模擬器的屏幕截圖。 我希望你能幫助我。 謝謝,

JSON代碼

{
    "retcode": "200",
    "content": [{
        "id": 3,
        "name": "X Treme",
        "desc": "Polikarbon G\u00f6vde",
        "category": "Design",
        "thumbnail": [{
            "id": 2,
            "thumbnail": "http:\/\/www.ertonga.com\/product_images\/xtreme_red.jpg"
        }, {
            "id": 3,
            "thumbnail": "http:\/\/www.ertonga.com\/product_images\/xtreme_orange.jpg"
        }, {
            "id": 4,
            "thumbnail": "http:\/\/www.ertonga.com\/product_images\/xtreme_blue.jpg"
        }, {
            "id": 5,
            "thumbnail": "http:\/\/www.ertonga.com\/product_images\/xtreme_green.jpg"
        }, {
            "id": 6,
            "thumbnail": "http:\/\/www.ertonga.com\/product_images\/xtreme_clear.jpg"
        }, {
            "id": 7,
            "thumbnail": "http:\/\/www.ertonga.com\/product_images\/xtreme_grey.jpg"
        }, {
            "id": 8,
            "thumbnail": "http:\/\/www.ertonga.com\/product_images\/xtreme_slred.jpg"
        }]
    }, {
        "id": 4,
        "name": "Opal",
        "desc": "Polikarbon Sandalye",
        "category": "Design",
        "thumbnail": [{
            "id": 9,
            "thumbnail": "http:\/\/www.ertonga.com\/product_images\/opal_orange.jpg"
        }, {
            "id": 10,
            "thumbnail": "http:\/\/www.ertonga.com\/product_images\/opal_blue.jpg"
        }, {
            "id": 11,
            "thumbnail": "http:\/\/www.ertonga.com\/product_images\/opal_green.jpg"
        }]
    }],
    "error_msg": ""
}

SWIFT代碼

if let url = NSURL(string: urlString) {

            if let data = try? NSData(contentsOfURL: url, options: [])

            {


                do {
                    let json = try NSJSONSerialization.JSONObjectWithData(data, options: .AllowFragments)


                    var valueforname:Int = 0

                    if let blogs = json["content"] as? [[String: AnyObject]] {


                        for blog in blogs {

                            if let blog2 = blog["thumbnail"] as? [[String: AnyObject]] {

                                for blog3 in blog2 {

                                    if let blog4 = blog3["thumbnail"] as? String {

                                        var checkvalue1 = blog3["id"] as? Int





                                        if Imagearray.contains(String(checkvalue1!)) {


                                                                    }

                                        else {


                                                Imagearray.append(blog4)
                                            }
                                        }





                                    }

                                }




                        }
                    }
                }





                catch {
                    print("error serializing JSON: \(error)")
                }


            }
        }

這是屏幕截圖。 您可以看到椅子的不同顏色,我希望每個項目只有一種顏色

在此處輸入圖片說明

試試這個:

NSURL(string: urlString) {

    if let data = try? NSData(contentsOfURL: url, options: [])

    {
        do {
            let json = try NSJSONSerialization.JSONObjectWithData(data, options: .AllowFragments)
            var valueforname:Int = 0
            if let blogs = json["content"] as? [[String: AnyObject]] {
                for blog in blogs {
                    if let blog2 = blog["thumbnail"] as? [[String: AnyObject]] {
                        if let blog4 = blog2["thumbnail"] as? String
                        {
                            Imagearray.append(blog4)
                        }
                    }
                }
            }
        }
        catch {
            print("error serializing JSON: \(error)")
        }
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM