JSON是一種輕量級的數據交換格式,對于很多編程語言來說都是重要的數據格式。在C語言中,我們可以使用C JSON庫對JSON解析進行實現。
常規的解析流程如下:
#include <stdlib.h> #include <stdio.h> #include <cJSON.h> int main() { char *json_string = "{\"name\":\"Tom\",\"age\":20}"; cJSON *root = cJSON_Parse(json_string); if (!root) { printf("Error before: [%s]\n", cJSON_GetErrorPtr()); return 1; } cJSON *name_item = cJSON_GetObjectItemCaseSensitive(root, "name"); char *name = cJSON_GetStringValue(name_item); cJSON *age_item = cJSON_GetObjectItemCaseSensitive(root, "age"); int age = cJSON_GetNumberValue(age_item); printf("Name: %s, Age: %d\n", name, age); return 0; }
首先,我們導入C JSON庫,并創建一個JSON字符串。接著,我們使用cJSON_Parse函數將該JSON字符串轉換為一個cJSON對象(root)。如果轉換失敗,cJSON_Parse會返回一個NULL值。如果成功,我們就可以從cJSON中獲取JSON對象的屬性attr。
對于一個JSON對象,我們可以通過cJSON_GetObjectItemCaseSensitive函數獲取其屬性。獲取到屬性之后,我們就可以使用cJSON_GetXXXValue函數獲取屬性的值,其中XXX表示屬性的數據類型(如GetStringValue,GetNumberValue等)。
以上就是C JSON庫的常規解析流程。有了這個庫,我們可以快速有效地對JSON進行解析處理。