C JSON 取 Data 數據
C JSON 是一種常用的 C 語言 JSON 解析庫,在處理 JSON 數據的過程中,經常需要從 JSON 數據中取出需要的具體數據。本文介紹如何使用 C JSON 取出 JSON 數據的 Data 部分。
1. 獲取 JSON 數據
要取出 JSON 數據的 Data 部分,首先需要使用 C JSON 讀取整個 JSON 數據。以下是一個例子:
#include "cJSON.h" #include "stdio.h" int main() { char* json_data = "{\"name\":\"John\", \"age\":25, \"city\":\"New York\", \"data\": [1, 2, 3]}"; cJSON* root = cJSON_Parse(json_data); if (!root) { printf("Error before:%s\n",cJSON_GetErrorPtr()); return 1; } cJSON_Delete(root); return 0; }
在上面的例子中,我們定義了一個 JSON 字符串 json_data,然后使用 cJSON_Parse() 函數將其解析為一個 cJSON 對象 root。
2. 獲取 Data 數據
要獲取 JSON 數據的 Data 部分,我們首先需要找到 Data 在 JSON 數據中的位置??梢酝ㄟ^下面的代碼獲得 Data 對應的 cJSON 對象:
cJSON* data = cJSON_GetObjectItem(root, "data");
cJSON_GetObjectItem() 函數根據鍵名獲取 JSON 對象中對應的值,這里的 "data" 就是 JSON 數據中 Data 部分的鍵名。
3. 解析 Data 數據
獲取到 Data 的 cJSON 對象以后,我們可以通過 cJSON 的 API 來解析 JSON 數據。以下是一個例子:
int i; cJSON* item = NULL; for (i = 0; i< cJSON_GetArraySize(data); i++) { item = cJSON_GetArrayItem(data, i); printf("%d ", item->valueint); }
cJSON_GetArraySize() 函數返回數組的大小,然后可以通過 cJSON_GetArrayItem() 函數獲取 Data 數組中每個元素的 cJSON 對象。使用 cJSON 對象的 valueint 變量即可獲取元素的整型值。
完整代碼如下:
#include "cJSON.h" #include "stdio.h" int main() { char* json_data = "{\"name\":\"John\", \"age\":25, \"city\":\"New York\", \"data\": [1, 2, 3]}"; cJSON* root = cJSON_Parse(json_data); if (!root) { printf("Error before:%s\n",cJSON_GetErrorPtr()); return 1; } cJSON* data = cJSON_GetObjectItem(root, "data"); int i; cJSON* item = NULL; for (i = 0; i< cJSON_GetArraySize(data); i++) { item = cJSON_GetArrayItem(data, i); printf("%d ", item->valueint); } cJSON_Delete(root); return 0; }
上一篇html怎么對hr 設置
下一篇html怎么導航代碼