Web サービスから NSMutableData に json を受け取ります。
これは、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;
}
)};
基本的に、'car' キーに対して '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 を逆シリアル化する最初の試みです。
ここで何が欠けている/間違っていますか?
ありがとう