2016-03-31 29 views
0

Json dosyamdaki tüm verileri başarılı bir şekilde ayrıştırabilirim. Koleksiyon görünümündeki uygulamamda, hücreye yalnızca 1 görüntü verisini ayrıştırmaya çalışıyorum ancak tüm verileri onunla ilişkilendirdim. JSON kodunu ve ayrıştırma kodunu sizinle ve son olarak simülatörün ekran görüntüsünü paylaşacağım. Umarım bana yardım edebilirsin. Hızlı bir şekilde JSON'dan belirli bir değer nasıl elde edilir

JSON kodu burada

{ 
    "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 Kodu

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)") 
       } 


      } 
     } 

ve ekran görüntüleri, teşekkür ederiz. Sen

enter image description here

cevap

0

bu bir deneyin her öğe için sadece 1 renge istediğim sandalye farklı renkler görebilirsiniz: bana cevap için

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)") 
     } 
    } 
} 
+0

Teşekkür ancak bir değer türü indis olamaz hakkında i hata var [[String: AnyObhect]] 'String' –

+0

türünde bir indeksle sanıyorum blog2 kullanmadan kullanamayız [thumbnail] String olarak –

İlgili konular