2013-02-03 11 views
5

Bazı UTF-8 dizeleri olan bir JSON alıyorum. Örneğin: Bu verileri, okunabilir bir şekilde sunulabilmesi için en iyi yolu nedir? Bunu, U2019'u temsil etmesi gereken teklif işaretine dönüştürmek istiyorum.Doğru UTF-8'i iOS'ta JSON'da Yönetin

Düzenleme: Bir NSString * jsonResult

Edit 2 dizesi ayrıştırdığınızda varsayalım:

AFJSONRequestOperation *operation = [AFJSONRequestOperation JSONRequestOperationWithRequest:request success:^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON) { 
    NSString* jsonResult = [JSON valueForKeyPath:@"title"]; 
} failure:nil]; 
+0

Json'unuzu nasıl ayrıştırıyorsunuz? –

+0

JSON'un nereden geldiğini göstermek için sorumu güncelledim. – hodgesmr

+0

http://stackoverflow.com/questions/10838372/objective-c-nsstring-not-being-entirely-decoded-from-utf-8 –

cevap

5

Güncelleme:

Kurt Ben AFNetworking aracılığıyla JSON alıyorum AFJSONRequestOperation'un kaputun altında NSJSONSerialization'un kullanılmasına dikkat çekti. Böyle olunca bu aşağıda orijinal cevapta belirtildiği edildi. u orada ; olmamalı ve U bir küçük harf kullanılmalıdır, aşağıda belirtildiği gibi JSON (geçersiz durum muhtemelen.


JSON'un verilerini depolayabilmesinin bir parçası. JSON dizgisini bir JSON ayrıştırıcısı üzerinden geçirmeniz gerekecek, daha sonra dizginizi doğru bir şekilde ayıklayabileceksiniz.

Not: Gönderdiğiniz JSON Yukarıdaki geçersiz, sonunda bir yarı-kolon olmamalı ve U bir küçük harf u olmalıdır; aşağıdaki örnekte, değiştirilmiş bir JSON dizgisi var

NSString* str = @"{\"title\": \"It\\u2019s The End\"}"; 

NSError *error = nil; 
NSData* data = [str dataUsingEncoding:NSUTF8StringEncoding]; 
NSDictionary *rootDictionary = [NSJSONSerialization JSONObjectWithData:data 
                   options:0 
                   error:&error]; 
if (error) { 
    // Handle an error in the parsing 
} 
else { 
    NSString *title = [rootDictionary objectForKey:@"title"]; 
    NSLog(@"%@", title); //Prints "It’s The End" 
} 
+0

OP, 'AFJSONRequestOperation 'işlevini kullandığını ve dahili olarak kod çözdüğünü söyledi. NSJSONSerialization'. Yani, büyük olasılıkla, sorun sadece geçersiz JSON. –

+0

AFJSONRequestOperation'ın içsellerinin farkında değildi, açıklama için teşekkürler, bunu yansıtmak için cevabı değiştirecek. – WDUK

İlgili konular