2016-03-31 3 views
0

Я могу успешно проанализировать все данные из моего json-файла. В моем приложении в представлении коллекции я пытаюсь разобрать только 1 изображение данных в ячейку, но я связал все данные с ним. Я поделюсь с вами кодом JSON и кодом синтаксического анализа и, наконец, снимком экрана симулятора. Надеюсь, вы можете мне помочь. Спасибо,Как получить определенное значение от JSON в swift

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 Code

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


      } 
     } 

и вот скриншоты. Вы можете увидеть различные цвета стульев, я хочу только один цвет для каждого элемента

enter image description here

ответ

0

Попробуйте это:

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

Спасибо за ответ меня, но я получил ошибку о не может индексировать тип значения [[String: AnyObhect]] с индексом типа 'String' –

+0

ı думаю, что мы не можем использовать без использования blog2 [thumbnail] как String –

Смежные вопросы