Я получаю JSON из веб-службы в NSMutableData.
Это преобразуется в NSDictionary с помощью TouchJson.
NSDictionary *dictionary = [[CJSONDeserializer deserializer] deserializeAsDictionary:responseData error:&error];
NSString *strData = [dictionary objectForKey:@"cars"];
Затем я извлекаю строку из ключа из этого словаря.
Строка выглядит следующим образом
{
b = "http://schemas.datacontract.org/";
car = (
{
"car_name" = "Honda Civic";
year = 2011;
"dealer" = "local honda dealer";
"bought on" = {
nil = 1;
};
"license_number" = 1234567;
status = ReadyToGo;
}
)};
В сущности, могут быть 'n' записи против ключа 'car'.
, когда я пытаюсь преобразовать вышеупомянутое в NSData, используя
NSData *jsonData = [strData dataUsingEncoding:NSUTF8StringEncoding];
, а также
NSData *jsonData = [strData dataUsingEncoding:[NSString defaultCStringEncoding]];
но я получаю
[__NSCFDictionary dataUsingEncoding:]: unrecognized selector sent to instance 0x532bb70
Я попробовал несколько других доступных кодировок, и xcode все еще вырвался.
Как мне определить используемую кодировку?
Это моя первая попытка десереализации json в target-c.
Что я здесь упускаю / делаю неправильно?
Спасибо