通过API从数据库获取JSON数据,显示更多结果

问题描述 投票:0回答:1

我正在为 iOS 制作一个应用程序。该应用程序必须显示来自 MYSQL 数据库的结果,并且我在应用程序和数据库之间有一个 API。数据库发送有效的 JSON(这是在我的浏览器中):

[{"naam":"莫里斯","id":2},{"naam":"克拉斯","id":6},{"naam":"马里斯卡","id":8}]

但是我在我的申请中看不到多个结果。我搜索例如“M”,它只返回第一个莫里斯。我希望应用程序也显示 Mariska。

谁能解释一下如何在我的 iOS 应用程序中显示多个结果(在本例中)?

这里有更多代码:

 ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
    [request setPostValue:@"1" forKey:@"rw_app_id"];
    [request setPostValue:voornaam forKey:@"voornaam"];
    [request setPostValue:deviceUniqueIdentifier forKey:@"device_id"];
    [request setPostValue:@"1" forKey:@"test"];
    [request setDelegate:self];
    [request startAsynchronous];
        
    // Hide keyword
    [textField resignFirstResponder];
    
    // Clear text field
    textView.text = @"";
    
    // Start hud
    MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES];
    hud.labelText = @"Zoeken...";
    
    return TRUE;
}

- (void)requestFinished:(ASIHTTPRequest *)request
{    
    [MBProgressHUD hideHUDForView:self.view animated:YES];
    if (request.responseStatusCode == 400) {
        textView.text = @"Invalid code";        
    }
     else if (request.responseStatusCode == 403) {
        textView.text = @"Code already used";
    }
     else if (request.responseStatusCode == 204) {
        textView.text = @"No content";
    }
     else if (request.responseStatusCode == 412) {
        textView.text = @"Precondition Failed";
    }
     else if (request.responseStatusCode == 200) {
        NSString *responseString = [request responseString];
        NSDictionary *responseDict = [responseString JSONValue];
        NSString *naam = [responseDict objectForKey:@"naam"];
        
       // if ([unlockCode compare:@"com.razeware.test.unlock.cake"] == NSOrderedSame) {
            textView.text = [NSString stringWithFormat:@"Resultaten: %@", naam];
      //  } else {
           // textView.text = [NSString stringWithFormat:@"Resultaat: %@", unlockCode];
      //  }
        
    } 
    else {
        textView.text = @"Unexpected error API ERROR";
    }
    
}

- (void)requestFailed:(ASIHTTPRequest *)request
{    
    [MBProgressHUD hideHUDForView:self.view animated:YES];
    NSError *error = [request error];
    textView.text = error.localizedDescription;
}

@end
ios json objective-c textview
1个回答
0
投票

试试这个

 - (void)requestFinished:(ASIHTTPRequest *)request
 {    
     [MBProgressHUD hideHUDForView:self.view animated:YES];

      NSString *strResponse = [request responseString];
      SBJSON *objJSONParser = [[SBJSON alloc] init];
  NSDictionary *dictData = [objJSONParser objectWithString:strResponse error:nil];

      NSDictionary *dictResult = [dictData objectForKey: @"response"];
      NSLog(@"result Dict=%@",dictResult)      
      NSArray *arrTemp=(NSArray *)[dictData objectForKey:@"response"];
        NSLog(@"Array=%@",arrTemp)   

     //print both one by one is it work or not?
© www.soinside.com 2019 - 2024. All rights reserved.