C語言是一種常用的編程語言,而JSON則是一種輕量級數據交換格式。在C語言中,我們可以使用第三方庫來支持JSON數據的提交及解析,其中最常用的便是cJSON。
#include “cJSON.h”
cJSON提供了一個方便易用的API來操作JSON數據。要提交一個JSON數據,我們首先需要創建一個cJSON對象:
cJSON *root = cJSON_CreateObject();
這個cJSON對象就是一個JSON數據的根節點,我們可以往里面添加各種類型的數據,例如字符串、數字、布爾等等。
以添加一個字符串為例:
cJSON_AddStringToObject(root, “name”, “張三”);
其中,第一個參數為JSON數據的根節點,第二個參數為鍵名,第三個參數為值。
最后,我們需要將cJSON對象轉換成JSON字符串,然后使用HTTP協議將數據提交到服務器:
char *jsonStr = cJSON_PrintUnformatted(root); //使用HTTP協議將jsonStr提交到服務器
代碼示例:
#include “cJSON.h” #include “http.h” int main() { //創建一個JSON數據 cJSON *root = cJSON_CreateObject(); cJSON_AddStringToObject(root, “name”, “張三”); cJSON_AddNumberToObject(root, “age”, 18); cJSON_AddBoolToObject(root, “isStudent”, true); //將JSON數據轉換成字符串 char *jsonStr = cJSON_PrintUnformatted(root); //提交JSON數據 HttpRequest req; req.url = “http://www.example.com/api/user”; req.method = HTTP_POST; req.contentType = “application/json”; req.content = jsonStr; req.contentLength = strlen(jsonStr); HttpResponse res = httpSendRequest(&req); printf(“%d %s”, res.statusCode, res.body); return 0; }
這段代碼使用了HTTP協議向服務器提交了一個包含姓名、年齡、是否為學生的JSON數據。