C 是一種高效且功能強大的編程語言,而 JSON 是一種常用的數據交換格式。在 C 語言中,我們可以使用一些庫來獲取 JSON 數據類型。下面將介紹如何使用 cJSON 庫獲取 JSON 數據類型。
#include <stdio.h> #include <cjson/cJSON.h> int main() { char jsonString[] = "{\"name\":\"cindy\", \"age\":22}"; cJSON *root = cJSON_Parse(jsonString); if(!root) { printf("Error before: [%s]\n",cJSON_GetErrorPtr()); return 0; } cJSON *name = cJSON_GetObjectItem(root, "name"); printf("name: %s\n", name->valuestring); cJSON *age = cJSON_GetObjectItem(root, "age"); printf("age: %d\n", age->valueint); cJSON_Delete(root); return 0; }
首先,我們需要在頭文件中包含 cJSON 庫。
#include <cjson/cJSON.h>
然后,在代碼中定義一個 JSON 字符串,其中包含了我們需要獲取的數據。
char jsonString[] = "{\"name\":\"cindy\", \"age\":22}";
接下來,我們需要解析這個 JSON 字符串。
cJSON *root = cJSON_Parse(jsonString); if(!root) { printf("Error before: [%s]\n",cJSON_GetErrorPtr()); return 0; }
如果解析 JSON 字符串時出錯了,我們需要通過 cJSON_GetErrorPtr() 函數獲取錯誤信息。
接下來,我們可以通過 cJSON_GetObjectItem() 函數獲取 JSON 對象中的屬性值。
cJSON *name = cJSON_GetObjectItem(root, "name"); printf("name: %s\n", name->valuestring); cJSON *age = cJSON_GetObjectItem(root, "age"); printf("age: %d\n", age->valueint);
最后,我們需要通過 cJSON_Delete() 函數釋放 cJSON 對象的內存。
cJSON_Delete(root);
通過這些代碼,我們可以在 C 語言中獲取 JSON 數據類型。
上一篇vue創建應用實例