在C語言中獲取動態JSON數據是一項十分重要的任務。可以使用一些開源的JSON庫來解析和處理JSON數據。以下是使用cJSON庫的示例代碼。
#include <stdio.h> #include <stdlib.h> #include <cJSON.h> int main() { char json[] = "{ \\"name\\":\\"Alice\\", \\"age\\":20 }"; cJSON *root = cJSON_Parse(json); if (root == NULL) { printf("Error parsing JSON: %s\n", cJSON_GetErrorPtr()); return 1; } cJSON *name = cJSON_GetObjectItem(root, "name"); if (cJSON_IsString(name) && (name->valuestring != NULL)) { printf("Name: %s\n", name->valuestring); } cJSON *age = cJSON_GetObjectItem(root, "age"); if (cJSON_IsNumber(age)) { printf("Age: %d\n", age->valueint); } cJSON_Delete(root); return 0; }
首先,我們將JSON數據存儲在一個字符串變量中。然后,我們使用cJSON_Parse函數將字符串解析為cJSON對象。如果解析不成功,函數返回NULL,并在cJSON_GetErrorPtr中設置錯誤消息。
接下來,我們使用cJSON_GetObjectItem函數從JSON對象中獲取name和age字段。如果字段存在且類型正確,我們可以使用cJSON_IsString或cJSON_IsNumber來檢查類型,并使用valuestring或valueint來獲取值。
最后,我們使用cJSON_Delete函數釋放cJSON對象。
上一篇vue 打包頁面空白
下一篇c 獲取接口json數據