在C語言中解析JSON字符串可以使用第三方庫,如cJSON。cJSON是一個輕量級的C語言JSON解析器,可以快速地將JSON轉化為C語言中的數據結構。
#include "cJSON.h" int main() { char* jsonString = "{ \"name\" : \"張三\", \"age\" : 20 }"; cJSON* json = cJSON_Parse(jsonString); if (json != NULL) { cJSON* name = cJSON_GetObjectItem(json, "name"); cJSON* age = cJSON_GetObjectItem(json, "age"); printf("姓名: %s, 年齡: %d \n", name->valuestring, age->valueint); } cJSON_Delete(json); return 0; }
上述代碼中,我們首先定義了一個JSON字符串,然后通過cJSON_Parse函數將其解析為cJSON對象。cJSON_GetObjectItem函數可用于獲取cJSON對象中的值,通過傳入鍵值對的key,我們可以獲取其所對應的value。
需要注意的是,cJSON_Parse函數返回的指針需要手動釋放,否則會造成內存泄露。cJSON_Delete函數可用于釋放由cJSON_Parse函數返回的指針。