JSONのクライアントアプリケーションにデータを返すWebサービスがあります。私はTouchJsonを使用して、このデータをNSDictionaryにデシリアライズしています。すばらしいです。辞書にはキーが含まれており、「結果」と結果にはオブジェクトのNSArrayが含まれています。NSDictionaryからプロパティを取得するにはどうすればよいですか?
すなわち
NSLog(@"Results Contents: %@",[resultsArray objectAtIndex:0 ]);
出力ログに出力する場合、これらのオブジェクトは、次のようになります。
Results Contents: {
creationdate = "2011-06-29 22:03:24";
id = 1;
notes = "This is a test item";
title = "Test Item";
"users_id" = 1;
}
を、私は、このオブジェクトが何であるかの種類を判別することはできません。このオブジェクトからプロパティと値を取得するにはどうすればよいですか?
ありがとうございます! 、NSDictionary
について
const char* className = class_getName([yourObject class]);
NSString *className = NSStringFromClass([yourObject class]);
:あなたはこれらのいずれかを使用することができ、オブジェクトのクラス名を取得するには
[yourObject isKindOfClass:[a class]]
[yourObject isMemberOfClass:[a class]]
:
これは、 '結果'に表示されているNSDictionaryです。あなたは、オブジェクトとキーのペアを見ることで分かります。たとえば、「users_id」がキー、「1」がオブジェクトです。 –
NSDictionaryです。 '-objectForKey:'を使ってそれぞれを取得します。例えば。 NSString * title = [[resultsArray objectAtIndex:0] objectForKey:@ "title"]; ' –
私はそれらがすべてNSStringsだと賭けていますが、その1はNSNumbersかもしれません - 辞書を印刷するとき、文字列ではないことを伝えることはできません – bshirley