C JSON格式的字符串是一種常用的數(shù)據(jù)交換格式,在網(wǎng)絡編程、前后端通信、存儲數(shù)據(jù)等場景中廣泛應用。C語言中可以使用第三方庫如cJSON來進行JSON字符串的解析和生成。
#include "cJSON.h" int main() { // 創(chuàng)建json對象 cJSON* json = cJSON_CreateObject(); // 添加鍵值對 cJSON_AddStringToObject(json, "name", "John Smith"); cJSON_AddNumberToObject(json, "age", 28); cJSON_AddBoolToObject(json, "isMarried", true); // 生成json字符串 char* jsonStr = cJSON_Print(json); printf("%s\n", jsonStr); // 解析json字符串 cJSON* parsedJson = cJSON_Parse(jsonStr); char* name = cJSON_GetObjectItem(parsedJson, "name")->valuestring; int age = cJSON_GetObjectItem(parsedJson, "age")->valueint; bool isMarried = cJSON_GetObjectItem(parsedJson, "isMarried")->valueint; printf("name:%s, age:%d, isMarried:%d\n", name, age, isMarried); // 釋放內(nèi)存 cJSON_Delete(parsedJson); free(jsonStr); return 0; }
上述代碼通過cJSON庫創(chuàng)建了一個JSON對象,并添加了三個鍵值對。然后調(diào)用cJSON_Print將對象轉(zhuǎn)換為JSON字符串,并輸出到控制臺。接著使用cJSON_Parse將字符串解析為JSON對象,并通過cJSON_GetObjectItem獲取鍵對應的值。最后記得要釋放內(nèi)存。