0

現在、iPhoneアプリでSBJsonを使用して、WebサービスからのJson応答を解析していますが、解析しませんでした。

ここで私はあなたの参照のためにSBJsonファイルに言及しました:

 Array
    (
        [0] => 21
        [s.no] => 21
        [1] => Table243322
        [table_id] => Table424242
        [2] => arun123
        [username] => aru22n123
        [3] => sam101
        [friend_user_name] => sa323m101
        [4] => 0
        [game_status] => 0
    )
    {"status":"1","error":{"0":"Table1684242538","table_id":"Table168424538","1":"KH,AC,10S,8D,2C,4H,JH,3S,10C,7D,3C,4D,7S","play_cards1":"KH,AC,10S,8D,2C,4H,JH,3S,10C,7D,3C,4D,7S","2":"QH,8H,2D,AS,KC,3D,6D,QD,9D,3H,2H,JD,AH","play_cards2":"QH,8H,2D,AS,KC,3D,6D,QD,9D,3H,2H,JD,AH","3":"10H","joker_card":"10H","4":"7C","open_deck":"7C","5":"AD,4C,9S,6S,QC,5C,8C,2S,4S,KS,5D,JS,RJ2,6H,JC,6C,9H,KD,10D,7H,QS,9C,5S,5H,RJ1,8S","closed_decks":"AD,4C,9S,6S,QC,5C,8C,2S,4S,KS,5D,JS,RJ2,6H,JC,6C,9H,KD,10D,7H,QS,9C,5S,5H,RJ1,8S"}}

これを解析しようとしましたが、値がnullになります。

-(void)connectionDidFinishLoading:(NSURLConnection *)connection
{
    NSString *jsonStr1 = [[NSString alloc] initWithData:mutaebleData encoding:NSUTF8StringEncoding]; 
    NSLog(@"jsonStr1 : %@", jsonStr1);

    SBJSON *Json = [[SBJSON alloc]init];
    NSDictionary *dic= (NSDictionary *) [Json objectWithString:jsonStr1 error:nil];  

        // dic = null, dic value comes always null
}

これを解析する方法は?私を助けてください

前もって感謝します

4

1 に答える 1

1

将来のバージョンでアプリを保証するには、Appleのライブラリ/クラスを使用してください(単なる提案です)。NSJSONSerializationを使用する場合、ソリューションは次のようになります。

// 1) data is an ivar of NSData
// 2) i used delegate methods of NSURLConnection to fetch data from server
  NSError *error=nil;
  id result=[NSJSONSerialization JSONObjectWithData:data options:
            NSJSONReadingMutableContainers error:&error];
// use result as how you want. you can use NSDictionary too instead of id ..
于 2012-09-26T14:16:47.107 に答える