在C語(yǔ)言中,抓取JSON數(shù)據(jù)需要使用一些特定的庫(kù)和技巧。以下是一個(gè)簡(jiǎn)單的例子,說(shuō)明如何使用C語(yǔ)言抓取JSON數(shù)據(jù)。
#include <stdio.h> #include <stdlib.h> #include <curl/curl.h> #include <cjson/cJSON.h> static size_t write_callback(char *data, size_t size, size_t nmemb, void *userdata) { cJSON *json = cJSON_Parse(data); if (!json) { printf("Error parsing JSON: %s\n", cJSON_GetErrorPtr()); return size * nmemb; } printf("JSON data:\n%s\n", cJSON_Print(json)); cJSON_Delete(json); return size * nmemb; } int main() { CURL *curl; CURLcode res; curl = curl_easy_init(); if (curl) { curl_easy_setopt(curl, CURLOPT_URL, "http://example.com"); curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, &write_callback); res = curl_easy_perform(curl); if (res != CURLE_OK) { fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res)); } curl_easy_cleanup(curl); } return 0; }
以上是一個(gè)使用C語(yǔ)言抓取JSON數(shù)據(jù)的例子。我們使用了curl和cJSON兩個(gè)庫(kù),在對(duì)請(qǐng)求的數(shù)據(jù)進(jìn)行解析之后輸出。這個(gè)例子可以幫助您對(duì)抓取JSON數(shù)據(jù)的過(guò)程有更深入的了解。