在C語言中傳遞JSON字符串是一種常見的操作,因為JSON是現在常用的數據格式之一。以下是C語言中傳遞JSON字符串的示例。
#include <stdio.h> #include <string.h> #include <stdlib.h> #include <curl/curl.h> #include <jansson.h> static size_t write_callback(char *buffer, size_t size, size_t nmemb, void *userdata) { return size * nmemb; } int main() { CURL *curl; CURLcode res; char *json_string; json_t *root; json_error_t error; root = json_pack("{s:s,s:i}", "name", "test", "id", 12345); json_string = json_dumps(root, 0); curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_URL, "http://example.com"); curl_easy_setopt(curl, CURLOPT_POSTFIELDS, json_string); 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); } free(json_string); json_decref(root); return 0; }
上述代碼為使用CURL庫發送JSON字符串的示例。首先通過JSON庫創建一個JSON對象,并將該對象轉換為JSON字符串。然后使用CURL庫發送該JSON字符串,并在接收端解析該字符串。
需要注意的是,在使用JSON庫時需要手動釋放JSON對象,并在使用CURL庫時需要手動釋放JSON字符串。此外,還需要添加CURL庫的頭文件和鏈接庫。