使用C語言接收JSON并取值
JSON是一種輕量級的數據交換格式,在現代web開發過程中廣泛使用。在C語言中,我們可以使用第三方庫來解析JSON,比如cJSON。接下來我們將演示如何使用cJSON來接收JSON并取值。
#include <stdio.h> #include <string.h> #include <cJSON.h> int main(void) { char *json_string = "{ \"name\":\"John\", \"age\":30, \"city\":\"New York\" }"; cJSON *root = NULL; cJSON *name = NULL; cJSON *age = NULL; cJSON *city = NULL; root = cJSON_Parse(json_string); if (!root) { printf("Error before: [%s]\n", cJSON_GetErrorPtr()); } else { name = cJSON_GetObjectItem(root, "name"); age = cJSON_GetObjectItem(root, "age"); city = cJSON_GetObjectItem(root, "city"); printf("Name: %s\n", name->valuestring); printf("Age: %d\n", age->valueint); printf("City: %s\n", city->valuestring); cJSON_Delete(root); } return 0; }
首先,我們使用一個字符串表示JSON數據。然后使用cJSON_Parse函數將其轉換為cJSON對象root。如果解析失敗,我們使用cJSON_GetErrorPtr函數輸出錯誤信息。否則,我們使用cJSON_GetObjectItem函數獲取JSON中的name、age和city,并輸出它們的值。
運行上述代碼,我們可以看到以下輸出:
Name: John Age: 30 City: New York
這證明我們已經成功地從JSON中取值了。