捕获 NSLog 结果中的值



为澄清而编辑

userID 是在服务器端生成的,因此直到我发布新注册的用户名和密码后,我才真正检索用户 ID。这样:

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
NSError *error;
NSDictionary *params = [NSDictionary dictionaryWithObjectsAndKeys:
                        userName.text, @"userName",
                        password.text, @"password",
                        nil];
NSData *data = [NSJSONSerialization dataWithJSONObject:params options:0 error:&error];
NSLog(@"PARAMS = %@", params);
[request setHTTPMethod:@"POST"];
[request setValue:@"text/plain" forHTTPHeaderField:@"Accept"];
[request setValue:@"application/json;charset=utf-8" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:data];
NSURLResponse *response = nil;
NSData *result = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
NSString *responseString = [[NSString alloc]initWithData:result encoding:NSUTF8StringEncoding];
NSDictionary *json = [NSJSONSerialization JSONObjectWithData:result options:0 error:&error];
NSString *results = json[@"result"];
if ([results isEqualToString:@"ok"])
{
    [self uploadS3Photo];
    NSLog(@"RESULT = %@", responseString);
}

}

编辑结束

我不太确定如何获取值userID,并将其作为NSMutableString发布回去。

我从数据库中得到的是这个

2014-02-23 20:52:48.029 TestData[245923:92c] RESULT = {"result":"ok","userId":26}

那个数字"26",我需要存储,然后回调以反转其数字,使用如下方法。

-(NSString *)reverseString:(NSString *)str {
    NSMutableString *reversed = [NSMutableString string];
    NSInteger charIndex = [str length];
    while (charIndex > 0) {
        charIndex--;
        NSRange subRange = NSMakeRange(charIndex, 1);
        [reversed appendString:[str substringWithRange:subRange]];
    }
    return reversed;
}

你有一个包含 JSON 内容的字符串。要从中获取数字,您必须使用 NSJSONSerialization .

这是操作方法:

NSData *data = [yourJSONString dataUsingEncoding:NSUTF8StringEncoding];
NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil];
NSNumber *myNumber = dict[@"RESULT"][@"userId"];

然后你可以把它转换成字符串:

NSString *stringWithNumber = [myNumber stringValue];

叹息--

NSInteger userId = json[@"userId"].integerValue;

最新更新