在 iOS 開發過程中,我們通常會向服務器發送請求來獲取數據。傳入的數據類型有很多種,其中一種是 JSON 數據類型。那么在 iOS 中如何請求傳入 JSON 數據呢?
首先,我們需要使用 NSURLSession 來發送請求。NSURLSession 是一個提供了一系列 API 的框架,可以用來創建 HTTP 和 HTTPS 請求,而且還支持代理和安全連接等。發送 JSON 數據請求的步驟如下:
// 1. 定義 URL 對象 NSURL *url = [NSURL URLWithString:@"http://www.example.com/api"]; // 2. 構建 HTTP 請求 NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url]; request.HTTPMethod = @"POST"; // 3. 設置請求體的 JSON 數據 NSDictionary *jsonDict = @{@"name": @"張三", @"age": @(20)}; NSData *jsonData = [NSJSONSerialization dataWithJSONObject:jsonDict options:kNilOptions error:nil]; request.HTTPBody = jsonData; // 4. 發送請求 NSURLSessionDataTask *dataTask = [[NSURLSession sharedSession] dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) { // 處理返回的數據 }]; [dataTask resume];
在上述代碼中,我們首先定義了一個 URL 對象,然后構建了一個 HTTP 請求,設置了請求體的 JSON 數據,并使用 NSURLSession 發送了請求。值得注意的是,設置請求體的 JSON 數據時,我們需要使用 NSJSONSerialization 類將 NSDictionary 對象轉換為 NSData 對象。
最后,在 completionHandler 中處理服務器返回的數據。由于是異步操作,我們需要調用 dataTask 的 resume 方法才能發起請求。