2012-11-28 16 views
20

JSON verilerini Objective-C kullanarak bir dosyaya yazmam gerekiyor. Benim veri şöyle görünür: Bundan daha karmaşık alabilirsinizJSON verilerini iOS/Objective-C'deki bir dosyaya yazabilir miyim?

data = { 
    "NrObjects" : "7", 
    "NrScenes" : "5", 
    "Scenes" : [ 
     { "dataType" : "label", "position" : [20, 20, 300, 300], "value" : "Hello" }, 
     { "dataType" : "label", "position" : [20, 60, 300, 300], "value" : "Hi There" } 
    ] 
} 

ama ne bilmem gerekiyor yazıyorum, yani Obj C, ile bunu bu formun bir nesne oluşturabilir olup olmadığıdır bir dosyaya veri ve geri oku.

cevap

27

Bunun için özel olarak hazırlanmış bir sınıf var, onun adı NSJSONSerialization.

NSArray* jsonResponse = [NSJSONSerialization JSONObjectWithData:theResponse 
                 options:kNilOptions 
                  error:&error]; 

ve bu gibi yazmak:

Böyle okumak

NSData* jsonData = [NSJSONSerialization dataWithJSONObject:userDetails 
                options:kNilOptions 
                error:&error]; 
+3

Eklemek için: bu API iOS 5 ve daha sonra kullanılabilir – Saurabh

+0

Çok teşekkürler. Obj-C'de olduğunu bilmiyordum. Tam olarak ihtiyacım olan buydu. –

+0

@ IIS7Bu cevabın sizin için yararlı olup olmadığını yeniden yazın, lütfen kabul edildi olarak işaretlemeyi unutmayın, teşekkürler. – Pochi

4

yazma:

NSData *data = [NSKeyedArchiver archivedDataWithRootObject:jsonObject]; 
[data writeToFile:path atomically:YES]; 

okuma:

NSData *data = [NSData dataWithContentsOfFile:path]; 
NSDictionary *jsonObject = [NSKeyedUnarchiver unarchiveObjectWithData:data]; 
İlgili konular