JSON是一種輕量級數(shù)據(jù)交換格式,常用于前端與后端的數(shù)據(jù)傳輸。
C語言中提供了許多第三方JSON庫,例如cJSON、JSMN等。
其中,cJSON是一款基于C語言的JSON解析器和生成器,可用于解析JSON字符串和生成JSON字符串。
#include#include "cJSON.h" int main() { // 生成JSON字符串 cJSON* root = cJSON_CreateObject(); cJSON_AddStringToObject(root, "name", "John"); cJSON_AddNumberToObject(root, "age", 25); char* json_str = cJSON_PrintUnformatted(root); cJSON_Delete(root); printf("%s\n", json_str); // 解析JSON字符串 cJSON* json = cJSON_Parse(json_str); printf("name: %s\n", cJSON_GetObjectItem(json, "name")->valuestring); printf("age: %d\n", cJSON_GetObjectItem(json, "age")->valueint); cJSON_Delete(json); free(json_str); return 0; }
在上述代碼中,我們使用cJSON庫生成一個JSON字符串,并解析該字符串打印出其中的內(nèi)容。
在生成JSON時,我們首先使用cJSON_CreateObject()創(chuàng)建一個JSON對象,然后使用cJSON_AddStringToObject()和cJSON_AddNumberToObject()分別添加一個字符串類型和一個數(shù)字類型的鍵值對。
最后,我們使用cJSON_PrintUnformatted()將JSON對象轉(zhuǎn)換為字符串形式,并打印出來。
在解析JSON時,我們使用cJSON_Parse()將JSON字符串解析為一個cJSON對象,并通過cJSON_GetObjectItem()獲取其中的鍵值對。
最后,我們使用cJSON_Delete()銷毀cJSON對象和JSON字符串。