2013-01-31 17 views
5

Olası Çoğalt:
How to parsing JSON object in iPhone SDK (XCode) using JSON-FrameworkiPhone'da Json değeri nasıl ayrıştırılır?

Nasıl 1221 gibi Json değeri elde etmek Web hizmeti, gelen Json değerini ayrıştırmak JSON çerçevesini kullanarak, iPhone uygulamasında çalışıyorum, 1278, 3456, ........... vs. (Bu değer sabit değildir, değeri otomatik olarak dinamik olarak değiştirir, bu yüzden bunu bilmiyordum) Bunu yapmak mümkün mü? Peşin

Teşekkür

referans için

JSON Tepki:

{ 
     "1221": 
    { 
      "type": "product", 
      "product_id": 1221, 
      "intID": "1", 
      "name": "rer Margherita", 
      "des": "Tomatensauce, Käse<sup>1</sup>", 
      "img": "", 
      "isDeal": false, 
      "cat": { 
       "1": { 
        "price": 4, 
        "pos": 1, 
        "catname": "normal", 
        "extras": false 
       }, 
       "2": { 
        "price": 5.9, 
        "pos": 2, 
        "catname": "groß", 
        "extras": false 
       } 
      } 
     }, 
     "1278": { 
      "type": "product", 
      "product_id": 1222, 
      "intID": "2", 
      "name": "ere Zwirerebeln", 
      "des": "er", 
      "img": "", 
      "isDeal": false, 
      "cat": { 
       "1": { 
        "price": 2, 
        "pos": 1, 
        "catname": "rer", 
        "extras": true 
       }, 
       "2": { 
        "price": 6.2, 
        "pos": 2, 
        "catname": "mega", 
        "extras": true 
       } 
      } 
     }, 
+0

NSArray * dizi = [[NSArray alloc] initWithArray: [Sözlük AllKeys]]; tüm anahtarların dizisini alırsınız. –

+0

Cevabınız – SampathKumar

+0

için teşekkürler, daha sonra anahtar ile cevabı karşılaştırabilir ve anahtar kelimenin tamamını dilediğiniz zaman geri alabilirsiniz. –

cevap

2

Sadece

NSData *jsonData = //response data 

NSDictionary *object = [NSJSONSerialization JSONObjectWithData:jsonData options:0 error:nil]; 

Sonra, sadece ile ilgili hiçbir ayrıştırma orada başa bir nesne haline JSON Veri dönüştürmek sözlük. (Ya dizi, vb ...)

Eğer o zaman yapabilirsiniz istediğiniz listesini almak için ...

NSArray *requiredValues = [object allKeys]; 
+0

Niçin 'NSData' nesnesini bir' NSString' (ASCII? Gerçekten?) Ve daha sonra '' JSONObjectWithData: '' '' '' '' '' '' 'yerine' 'NSData''ya dönüştürdünüz? Niye bir tek liner olan bir şey için kategori yöntemine ihtiyacın olduğunu anlamıyorum. – omz

+0

Bilmiyorum, sadece bir süre kullandım ve sıkıştı. İyi nokta thoguh. – Fogmeister

+0

Cevabınız için teşekkürler – SampathKumar

İlgili konular