C語言中自帶解析JSON的方法,是使用一個叫做CJSON的開源庫。這個庫可以輕松地將JSON字符串轉換成C語言中的對象,同時也可以將C語言對象轉換成JSON字符串。
#include <stdio.h> #include <cJSON.h> int main() { char* json_string = "{ \"name\": \"張三\", \"age\": 25 }"; cJSON* root = cJSON_Parse(json_string); if (root == NULL) { printf("解析JSON字符串失敗\n"); return -1; } cJSON* name = cJSON_GetObjectItem(root, "name"); printf("%s 的年齡是 %d\n", name->valuestring, cJSON_GetObjectItem(root, "age")->valueint); cJSON_Delete(root); return 0; }
以上代碼演示了如何使用CJSON庫來解析JSON字符串,并且獲取其中的鍵值對。首先,我們需要將JSON字符串傳入cJSON_Parse
函數中,這個函數會返回一個cJSON
類型的指針,它是表示整個JSON串的根節點。
接著,我們通過cJSON_GetObjectItem
函數,來獲取JSON串中的鍵值對,這個函數需要傳入兩個參數,第一個參數是根節點,第二個參數是要獲取的鍵名。
最后,我們可以通過valuestring
和valueint
屬性來獲取JSON串中的值,并進行輸出。
需要注意的是,在使用完JSON對象后,我們需要通過cJSON_Delete
函數來釋放內存。