C語言是一種非常強(qiáng)大的編程語言,也是很多后臺(tái)開發(fā)者喜愛的語言。在后臺(tái)開發(fā)中,常常要將數(shù)據(jù)以json格式返回給前端。下面就來介紹一下C語言如何返回json格式的數(shù)據(jù)。
#include#include #include "cJSON.h" int main() { cJSON *root = NULL; //創(chuàng)建json對(duì)象 root = cJSON_CreateObject(); //創(chuàng)建json對(duì)象 cJSON_AddNumberToObject(root, "code", 200); //添加鍵值對(duì) cJSON_AddStringToObject(root, "message", "success"); //創(chuàng)建一個(gè)數(shù)組 cJSON *dataArr = cJSON_CreateArray(); //添加對(duì)象到數(shù)組 for(int i = 0; i< 3; i++) { cJSON *dataObj = cJSON_CreateObject(); cJSON_AddNumberToObject(dataObj, "id", i+1); cJSON_AddStringToObject(dataObj, "name", "test"); cJSON_AddNumberToObject(dataObj, "age", 18); cJSON_AddItemToArray(dataArr, dataObj); } cJSON_AddItemToObject(root, "data", dataArr); //將數(shù)組添加到j(luò)son對(duì)象中 char *out = cJSON_Print(root); //將json對(duì)象轉(zhuǎn)為字符串 printf("%s\n", out); //輸出json格式的字符串 cJSON_Delete(root); //釋放內(nèi)存 return 0; }
以上代碼中,使用了cJSON庫,該庫是C語言中非常流行的一個(gè)JSON解析庫,可以很方便地操作JSON對(duì)象。首先,通過cJSON_CreateObject()函數(shù)創(chuàng)建json對(duì)象,然后通過cJSON_AddNumberToObject()和cJSON_AddStringToObject()函數(shù)添加鍵值對(duì),最后使用cJSON_Print()函數(shù)將json對(duì)象轉(zhuǎn)化為字符串輸出。
對(duì)于json格式的數(shù)據(jù)的返回,一定要注意每一條語句的順序,防止出現(xiàn)數(shù)據(jù)添加順序的混亂導(dǎo)致json格式的數(shù)據(jù)輸出錯(cuò)誤。