C語言最近幾年在數據處理和嵌入式領域使用越來越廣泛。而JSON作為一種輕量級數據交換格式,被廣泛應用于Web和移動應用程序中。同時,C語言的JSON解析器也越來越成熟,目前最流行的解析器之一是cJSON。
下面將展示一個簡單的cJSON反序列化例子,代碼如下:
#include <stdio.h> #include <stdlib.h> #include <cJSON.h> int main() { char json_text[] = "{\"name\":\"張三\",\"age\":23}"; // 解析JSON cJSON *root = cJSON_Parse(json_text); // 獲取name節點的值 cJSON *name = cJSON_GetObjectItem(root, "name"); if (name == NULL) { printf("獲取name節點失敗\n"); return -1; } // 獲取age節點的值 cJSON *age = cJSON_GetObjectItem(root, "age"); if (age == NULL) { printf("獲取age節點失敗\n"); return -1; } printf("姓名:%s,年齡:%d\n", name->valuestring, age->valueint); // 釋放內存 cJSON_Delete(root); return 0; }
上面的代碼實現了一個簡單的JSON反序列化,將JSON字符串中的姓名和年齡取出來并打印到控制臺上。
默認情況下,cJSON會將JSON節點的值解析為字符串型,如需要解析為其他數據類型,可以使用cJSON提供的對象訪問器。
cJSON是一個輕量級的JSON解析器,性能和功能都很優秀。通過學習和使用cJSON,可以更加方便地在C語言中處理JSON數據。
下一篇c json包