C簡單JSON是一種輕量級的數據交換格式,非常適合在不同的應用程序中進行數據交換和存儲。在C語言中,我們可以使用C簡單JSON庫來處理JSON格式的數據。
#include "cJSON.h" #include#include int main() { char *json_string = "{\"name\":\"Tom\",\"age\":18,\"hobbies\":[\"reading\",\"swimming\"]}"; cJSON *json = cJSON_Parse(json_string); if (json == NULL) { printf("Error: JSON string is invalid\n"); return 1; } cJSON *name = cJSON_GetObjectItem(json, "name"); if (name == NULL) { printf("Error: Failed to get name\n"); cJSON_Delete(json); return 1; } printf("Name: %s\n", name->valuestring); cJSON *age = cJSON_GetObjectItem(json, "age"); if (age == NULL) { printf("Error: Failed to get age\n"); cJSON_Delete(json); return 1; } printf("Age: %d\n", age->valueint); cJSON *hobbies = cJSON_GetObjectItem(json, "hobbies"); if (hobbies == NULL) { printf("Error: Failed to get hobbies\n"); cJSON_Delete(json); return 1; } for (int i = 0; i< cJSON_GetArraySize(hobbies); i++) { cJSON *hobby = cJSON_GetArrayItem(hobbies, i); if (hobby == NULL) { printf("Error: Failed to get hobby\n"); cJSON_Delete(json); return 1; } printf("Hobby: %s\n", hobby->valuestring); } cJSON_Delete(json); return 0; }
上面的代碼演示了如何解析一個JSON字符串,并獲取其中的字段值。cJSON_Parse()函數可以將JSON字符串解析為cJSON對象,cJSON_GetObjectItem()函數可以獲取JSON對象中的字段值。通過遍歷hobbies數組,我們可以獲取所有的興趣愛好。
C簡單JSON庫還提供了許多其他的功能,比如生成JSON字符串、創建JSON對象等。這些功能非常方便,可以讓我們在C語言中輕松處理JSON格式的數據。