Objective-c: JSON dizisi sözlüklerini NSDictionary’e dönüştürme

Yani, JSON'da aşağıdaki yapıya sahibim. Bu anahtar/değer çifti nesneleri dizisini anlıyorum:

{
"notification": [
    {
        "uid": "20",
        "count": "4"
    },
    {
        "uid": "48",
        "count": "0"
    },
    {
        "uid": "49",
        "count": "0"
    },
    {
        "uid": "53",
        "count": "0"
    }
]
}

Bunu SBJson ile ayrıştırmak, her biri için bir anahtar/değer çifti olan bir sözlük koleksiyonuyla sonuçlanır.

Tüm bu sözlükleri bir çok anahtar/değer çifti ile tek bir sözlüğe "yerleştirmek" istiyorum. Bu arada çiftler için endişelenme.

Bunu yapmanın en iyi yolu nedir? Bir NSDictionary üzerinden her bir öğeye birer birer erişerek ve hem anahtar hem de değerden faydalanarak nasıl yineleyebilirim?

Bu konuda bir fikrin var mı?

Teşekkürler.

--Conor

2

2 cevap

Sadece mevcut NSDictionary dizisi boyunca yineleyin. JSON'un rahatlığı, besleme dizenizden kolayca kullanılabilir veri yapılarına sahip olursunuz.

NSArray *notifications = [[theFeedString JSONValue] objectForKey:@"notification"];  
// or whatever JSON helper you are using
for (NSDictionray *dict in notifications) {
   NSInteger uid = [[dict objectForKey:@"uid"] intValue];
   NSInteger count = [[dict objectForKey:@"count"] intValue];
  //do something with uid and count
}
7
katma
Bunun için teşekkürler ... oldukça açık ve basit ama savunmamda, cuma oldu: D
katma yazar jim, kaynak
  1. Özel sınıf oluşturma uid ve count ile bildirim.
  2. .
  3. NSDictionary/NSArray üzerinden yineleme yapmak için ifadesini kullanın. yaratmak ve her birindeki json 'dan ayrıştırılmış veriler içeren Bildirim nesnesini yineleme
  4. Bu nesneyi yeni diziye veya sözlüğe ekleyin (oluşturabileceğiniz sözlük için) uid ile aynı olacak bir anahtar), örneğin
0
katma