これはサーバーからのjsonです:
{
"name":"channelname",
"args":
[
{
"username":"myusername",
"message":"mymessage"
}
]
}
ios5の組み込みjsonメソッドを使用して、argsのユーザー名/メッセージを解析しようとします。
NSDictionary *JSON = [NSJSONSerialization JSONObjectWithData: [packet.data dataUsingEncoding:NSUTF8StringEncoding] options: NSJSONReadingMutableContainers error: nil];
NSDictionary *argsValues = [[NSDictionary alloc] initWithDictionary:[JSON objectForKey:@"args"]];
2行目はエラーをスローします:
dictionary argument is not an NSDictionary
NSlog [JSON objectForKey @ "args"]を実行すると、次のようになります。
(
{
message = mymessage;
username = myusername;
}
)
かっこが壊れていると思います。どこから来たのかわからないので、よろしくお願いします。
編集:
選択した回答のおかげで、これがargsキーを取得するために使用したコードです。
NSDictionary *JSON = [NSJSONSerialization JSONObjectWithData: [packet.data dataUsingEncoding:NSUTF8StringEncoding] options: NSJSONReadingMutableLeaves error: nil];
NSArray *argsArray = [[NSArray alloc] initWithArray:[JSON objectForKey:@"args"]];
NSDictionary *argsDict = [[NSDictionary alloc] initWithDictionary:[argsArray objectAtIndex:0]];
NSLog(@"keys = %@", [argsDict allKeys]);