これはjsonの応答です。どうすれば解析できますか?
[{"id": "35"、 "name": "Jalsa"}]
[{"id": "32"、 "name": "Nandhini"}]
と呼ばれるリンゴからのクラスがあります
NSJSONシリアル化
次の方法を使用して、jsonデータを解析できます
+ (id)JSONObjectWithData:(NSData *)data options:(NSJSONReadingOptions)opt error:(NSError **)error
詳細については、アップルのドキュメントを参照してください:http: //developer.apple.com/library/ios/#documentation/Foundation/Reference/NSJSONSerialization_Class/Reference/Reference.html
編集:
どうやってリクエストするのかわかりません。NSURLConnection
_recievedDataを
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
方法
そして、あなたはこのようにあなたの配列を得ることができます
- (void)connectionDidFinishLoading:(NSURLConnection *)connection
{
NSArray *recivedArray = [NSJSONSerialization JSONObjectWithData:_receivedData options:0 error:nil];
}
データの受信方法についてさらにヘルプが必要な場合は、ここで例を見つけることができますhttps://developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/URLLoadingSystem/Tasks/UsingNSURLConnection.html
式が "[" "]" の間にある場合はNSArrayを使用します。式が "{" "}" 内にある場合はNSDictionary
を使用します。
この場合、json は 2 つの辞書を含む配列です。各ディクショナリには 2 つのキーと値のペアが含まれています。
NSError *e = nil;
NSArray *jsonArray = [NSJSONSerialization JSONObjectWithData: data options:
NSJSONReadingMutableContainers error: &e];
if (e!=nil) {
// Handle error
return;
}
for (NSDictionary *dict in jsonArray)
{
NSString *theID = [dict objectForKey:@"id"];
NSLog(@"ID:%@" , theID);
NSString *name = [dict objectForKey:@"name"];
NSLog(@"Name: %@" , name);
}
NSJSONSerializationはiOS5.x以降でのみ使用可能であるため、iOS 4.xをサポートする必要がある場合は、JSONKitを使用できます。
JSONKitも素晴らしいパフォーマンスを発揮します。GitHubのプロジェクトページで比較を確認してください。