C語言是一門底層的語言,但是它也可以發(fā)送JSON數(shù)據(jù)格式的數(shù)據(jù)。下面,我們將介紹在C語言中如何發(fā)送JSON數(shù)據(jù)格式。
#include#include #include int main(void) { CURL *curl; CURLcode res; json_object *json; struct curl_slist *headers = NULL; curl_global_init(CURL_GLOBAL_ALL); curl = curl_easy_init(); if(curl) { json = json_object_new_object(); json_object_object_add(json, "name", json_object_new_string("John Doe")); json_object_object_add(json, "age", json_object_new_int(30)); headers = curl_slist_append(headers, "Content-Type: application/json"); curl_easy_setopt(curl, CURLOPT_URL, "http://example.com/yourposthandler"); curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers); curl_easy_setopt(curl, CURLOPT_POSTFIELDS, json_object_to_json_string(json)); 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); json_object_put(json); curl_slist_free_all(headers); } curl_global_cleanup(); return 0; }
以上是一個發(fā)送JSON數(shù)據(jù)格式的示例代碼。在該代碼中,我們使用json-c庫來創(chuàng)建一個JSON數(shù)據(jù)格式。然后,我們使用libcurl來發(fā)送POST請求,并將JSON數(shù)據(jù)格式內(nèi)容包裝在JSON Payload中。
為了讓服務(wù)器知道我們發(fā)送的是一個JSON Payload,我們需要設(shè)置請求頭內(nèi)容類型為“application/json”。
這個示例代碼中只是一個最簡單的操作,如果我們想發(fā)送更復(fù)雜的JSON數(shù)據(jù)格式,可以使用json-c庫提供的其他相關(guān)API來構(gòu)建JSON對象。