Проблема с декодированием TouchJSON - PullRequest
2 голосов
/ 26 февраля 2011

Я пытаюсь декодировать JSON в NSDictionary со многими парами строк. Некоторые из возвращаемых строк возвращаются как & вместо &, а некоторые неанглийские символы отображаются как их значение в кодировке URL вместо их правильно декодированного значения. Как я могу это исправить?

NSString *strContent = [[NSString alloc] initWithBytes:[responseData bytes] length:[responseData length] encoding: NSUTF8StringEncoding];

//I cache the string here

NSData *jsonData = [strContent dataUsingEncoding:NSUTF8StringEncoding];
NSError *error = nil;
NSDictionary *dictionary = [[CJSONDeserializer deserializer] deserializeAsDictionary:jsonData error:&error];

1 Ответ

1 голос
/ 26 февраля 2011

Это полезная нагрузка, когда она прибывает.Вы должны справиться с этим после создания словаря.Вы можете сделать это как раз вовремя, когда вам нужно заранее поработать с данными или пройтись по словарю и поработать над преобразованием данных в желаемый формат.

Может пригодиться следующий метод NSStringдля неэкранированного кодирования URL: stringByReplacingPercentEscapesUsingEncoding

Чтобы раскрыть html-сущности, взгляните на это "target-c-html-escape-unescape" , это обеспечивает чистый способ

...