C語言解析JSON樹形數據
JSON是一種輕量級的數據交換格式,通常應用于網絡通信中。它易于閱讀、編寫和解析,也更加靈活和簡潔。本文將介紹如何在C語言中解析JSON樹形數據。
#include <stdio.h> #include <stdlib.h> #include <jansson.h> int main() { char *json_string = "{\"name\":\"Tom\",\"age\":20,\"scores\":{\"math\":80,\"english\":90}}"; json_error_t error; json_t *root = json_loads(json_string, 0, &error); if (!root) { printf("error: %s\n", error.text); return 1; } json_t *name = json_object_get(root, "name"); printf("name: %s\n", json_string_value(name)); json_t *age = json_object_get(root, "age"); printf("age: %d\n", json_integer_value(age)); json_t *scores = json_object_get(root, "scores"); const char *math = "math"; json_t *math_score = json_object_get(scores, math); printf("math score: %d\n", json_integer_value(math_score)); const char *english = "english"; json_t *english_score = json_object_get(scores, english); printf("english score: %d\n", json_integer_value(english_score)); json_decref(root); return 0; }
上述代碼通過json_loads()函數將JSON字符串解析為JSON對象。然后使用json_object_get()函數訪問對象的成員,最后使用json_integer_value()和json_string_value()函數獲取數值或字符串值。
總之,C語言解析JSON樹形數據并不復雜,可以通過使用jansson庫和一些簡單的函數來處理。希望本文能夠對您有所幫助。