c 后臺接收 json 數(shù)據(jù),常用于處理前端發(fā)送的 ajax 請求,將數(shù)據(jù)解析為 c 語言程序可以讀取的格式,進(jìn)而進(jìn)行后續(xù)的邏輯處理。
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <cjson/cJSON.h> int main(void) { char *json_string = "{\"name\":\"John\",\"age\":30,\"city\":\"New York\"}"; cJSON *json = cJSON_Parse(json_string); if (json == NULL) { printf("Error before: [%s]\n", cJSON_GetErrorPtr()); } else { char *name = cJSON_GetObjectItem(json, "name")->valuestring; int age = cJSON_GetObjectItem(json, "age")->valueint; char *city = cJSON_GetObjectItem(json, "city")->valuestring; printf("Name: %s\nAge: %d\nCity: %s\n", name, age, city); cJSON_Delete(json); } return 0; }
首先我們需要引入 cjson 庫,這是一個解析和生成 json 格式數(shù)據(jù)的 C 語言庫。
創(chuàng)建一個指向 json 字符串的指針,該字符串表示前端發(fā)送的 json 數(shù)據(jù)。
調(diào)用 cJSON_Parse 函數(shù)將 json 字符串轉(zhuǎn)換為 cJSON 對象。
通過 cJSON_GetObjectItem 函數(shù)獲取 json 對象中指定 key 對應(yīng)的 value 值。
獲取到我們需要的數(shù)據(jù)后,進(jìn)行后續(xù)處理。
最后,調(diào)用 cJSON_Delete 函數(shù)釋放 cJSON 對象。
使用 c 語言處理前端發(fā)送過來的 json 數(shù)據(jù),可以應(yīng)用于很多場景,如登錄、注冊、數(shù)據(jù)查詢等等。