C語言中獲取JSON并轉換為JSON對象有很多庫可以使用,比如cJSON、json-c等等。以下示例代碼使用cJSON:
#include <stdio.h> #include <cJSON.h> int main() { /*JSON字符串*/ char* json_str = "{ \"name\":\"張三\", \"age\":20, \"married\":false }"; /*將JSON字符串轉化為JSON對象*/ cJSON* json = cJSON_Parse(json_str); /*獲取JSON對象中的子對象或者鍵值*/ char* name = cJSON_GetObjectItem(json, "name")->valuestring; int age = cJSON_GetObjectItem(json, "age")->valueint; bool married = cJSON_GetObjectItem(json, "married")->valueint; /*輸出獲取到的數據*/ printf("姓名:%s\n年齡:%d\n婚否:%s", name, age, married ? "是" : "否"); /*釋放JSON對象占用的內存*/ cJSON_Delete(json); return 0; }
以上示例代碼中,我們首先定義了一個JSON字符串,然后使用cJSON庫中的函數cJSON_Parse將JSON字符串轉化為JSON對象。接著,我們通過cJSON_GetObjectItem函數獲取了JSON對象中的子對象或者鍵值,并輸出到控制臺上。最后,我們使用cJSON_Delete函數釋放了JSON對象占用的內存。
上一篇c解析json數據的代碼
下一篇c解析json報文