0

所以我最近问了这个问题,我能够让它工作

目标 c 调用 wcf 休息服务请求

这是我的代码

NSString *urlStringRequest = [NSString stringWithFormat:@"http://service.mydomain.com/UserAccountService.svc/UserLogin?id=%@&pword=%@", email, incPassword];

    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:urlStringRequest]];
    [request setHTTPMethod:@"GET"];
    [request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];

    NSError *error = nil;
    NSURLResponse *response = nil;
    NSData *result = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];

    id jsonResult = [self parseJsonResult:result];

    NSLog(@"Json Result Woop: %@", jsonResult);

parseJsonResult 与链接上的完全相同。我的问题是,每当我在 NSLog 上显示jsonResult时,它都会显示 json 结果,即:

Json Result Woop: {
    Authenticated = 0;
    Message = "Invalid Log In.";
}

但我不太确定如何进入变量并检索密钥及其值。

我试图这样做:

NSError *jsonParseError = nil;
NSMutableArray *jsonArray = [NSJSONSerialization JSONObjectWithData:result options:NSJSONReadingMutableContainers|NSJSONReadingAllowFragments error:&jsonParseError];
if(!jsonArray)
    NSLog(@"Parse error: %@", jsonParseError);
else
    for(NSDictionary *item in jsonArray)
        NSLog(@"%@", item);

使用结果变量,但它只会给我钥匙。

不太确定该怎么做。

4

1 回答 1

1

JsonResult 已经是一个 NSDictionary,正如 NSLog 所证明的那样,它用花括号显示出来。只需使用

jsonResult[@"Message"]

获取 Message 键的值。

于 2013-01-15T06:32:23.503 回答