JSON-Parser gibt Null zurück

Ich versuche zu lernen, wie man JSON-Daten analysiert, damit ich mit großen Datenbanken umgehen kann. Ich habe Code geschrieben, um mich auf einer Website anzumelden.

Ich habe folgende JSON-Daten aus einer erfolgreichen Anmeldeanforderung:

<code>JSON string : correct username and password [{"user_id":"7","first_name":"dada","last_name":"Kara","e_mail":"yaka@gmail","fullname":"Dada Kara","forum_username":"ycan"}]
</code>

und ich benutze folgenden Code, um zu analysieren, aber es analysiert es nicht

<code>-(IBAction)loginButton:(id)sender{

    NSString *username = usernameTextfield.text; 
    NSString *password = passwordTextfield.text;

    NSMutableURLRequest *request =[NSMutableURLRequest requestWithURL:[NSURL URLWithString:kPostUrl]];
    [request setHTTPMethod:@"POST"];

    NSString *post =[[NSString alloc] initWithFormat:@"e_mail=%@&password=%@", username, password];
    [request setHTTPBody:[post dataUsingEncoding:NSASCIIStringEncoding]];

    NSURLResponse *response;
    NSError *err;

    NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&err];
    //NSString *responseStr = [NSString stringWithUTF8String:[responseData bytes]];
    //NSLog(@"Response : %@", responseStr);

    NSString *json_string = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
    NSLog(@"JSON string : %@", json_string);

    SBJsonParser *parser = [[SBJsonParser alloc] init];
    NSDictionary *responseObj = [parser objectWithString:json_string error:nil];
    NSArray *name = [responseObj objectForKey:@"first_name"];

    NSLog(@"Name : %@", name);
}
</code>

Das Ergebnis von meinemNSLog für name istNULL

Wo liegt das Problem und wie kann ich solche Daten analysieren, damit ich sie bei vielen Zeilen in der lokalen FMDB-Datenbank auf dem iPhone speichern kann

------------------------------BEARBEITEN------------------- --------------------------------------------

Das eigentliche Problem war die Antwort JSON-Zeichenfolge vom Server enthielt den Echo-Anfang der Zeichenfolge. Der JSON-Parser analysiert nur zwischen Anführungszeichen "", sodass ich nur das Echo von der Zeichenfolge trimmen und die neue Zeichenfolge analysieren musste.

und Bingo!

<code>//trim in coming echo
    NSString *newString1 = [json_string stringByReplacingOccurrencesOfString:@"correct username and password\n" withString:@""];



    SBJsonParser *parser = [[SBJsonParser alloc] init];

    NSArray *responseObj = [parser objectWithString:newString1 error:nil];

    NSDictionary *dataDict = [responseObj objectAtIndex:0];

    NSString *userID = [dataDict objectForKey:@"user_id"];

    NSLog(@"user_id: %@", userID);
</code>

output: user_id: 7

Antworten auf die Frage(2)

Ihre Antwort auf die Frage