1

私は次のjsonが文字列を返しました:

[{"status":2,"id":"-1","content":"User has entered wrong input","time":1346765646202}]

(ご覧のとおり、結果は単一のオブジェクトを含む配列になります)。

列挙せずにステータスとコンテンツの値を抽出するにはどうすればよいですか?

今のところ、辞書を作成して列挙して実行しましたが、解決策が好きではありません。

NSData *jsonData = [returnString dataUsingEncoding:NSUTF8StringEncoding];
NSDictionary *json = [NSJSONSerialization JSONObjectWithData:jsonData options:0 error:&error];
4

2 に答える 2

4

すべてが[]でラップされているため、NSArray(サイズ1)に逆シリアル化されます(コードが示すようにNSDictionaryではありません)。その配列の要素はNSDictionary({})になります。でその辞書を取得しobjectAtIndex:0、列挙をスキップできます。

NSData *jsonData = [returnString dataUsingEncoding:NSUTF8StringEncoding];
NSArray *json = [NSJSONSerialization JSONObjectWithData:jsonData options:0 error:&error];
NSDictionary *response = [json objectAtIndex:0];
NSNumber *status = [response objectForKey:@"status"];
NSString *content = [response objectForKey:@"content"];
于 2012-09-04T13:55:06.683 に答える
0
NSNumber * status = json[@"status"]

また

NSNumber * status = [json objectForKey: @"status"]

于 2012-09-04T13:52:46.747 に答える