我从一个Web服务接收json到一个NSMutableData中。
使用TouchJson将其转换为NSDictionary。
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"条记录。
当我尝试使用将以上内容转换为NSData时
NSData *jsonData = [strData dataUsingEncoding:NSUTF8StringEncoding];
以及
NSData *jsonData = [strData dataUsingEncoding:[NSString defaultCStringEncoding]];
但我有
[__NSCFDictionary dataUsingEncoding:]: unrecognized selector sent to instance 0x532bb70
我已经尝试了一些其他可用的编码,但xcode仍然失败。
我如何计算所使用的编码?
这是我第一次尝试在objective-c中取消json的实现。
我在这里错过了什么/做错了什么?
感谢
我认为它根本不是字符串。。。。
对此进行更改并测试。。。。
NSDictionary *dictionary = [[CJSONDeserializer deserializer] deserializeAsDictionary:responseData error:&error];
NSDictionary *carsDictionary = [dictionary objectForKey:@"cars"];
NSArray *arrayOfCarDictionaries = [carsDictionary objectForKey:@"car"];