C語言是一種廣泛應用于嵌入式系統、操作系統、程序開發和網絡編程等多個領域的編程語言,而JSON是一種輕量級的數據交換格式。在C語言中,我們可以使用json-c庫來解析和生成JSON數據,本文主要介紹如何解釋JSON數組。
#include <stdio.h> #include <json-c/json.h> int main() { // 定義JSON字符串 const char *json_str = "{\"students\":[{\"name\":\"Tom\",\"age\":18},{\"name\":\"Lucy\",\"age\":20}]}"; // 解析JSON字符串 struct json_object *json_obj = json_tokener_parse(json_str); // 獲取數組對象 struct json_object *students_array_obj; json_object_object_get_ex(json_obj, "students", &students_array_obj); // 獲取數組長度 int students_count = json_object_array_length(students_array_obj); // 遍歷數組 int i; for(i = 0; i < students_count; i++) { // 獲取數組元素對象 struct json_object *student_obj = json_object_array_get_idx(students_array_obj, i); // 獲取學生姓名和年齡 const char *student_name, *student_age; json_object_object_get_ex(student_obj, "name", &student_name); json_object_object_get_ex(student_obj, "age", &student_age); // 打印學生信息 printf("學生%d:姓名:%s, 年齡:%s歲\n", i+1, student_name, student_age); } // 釋放內存 json_object_put(json_obj); return 0; }
以上就是解析JSON數組的簡單示例代碼,首先定義JSON字符串,然后通過json_tokener_parse()
將其解析為JSON對象,接著獲取JSON對象中的數組對象,然后使用json_object_array_length()
獲取數組長度,最后使用json_object_array_get_idx()
獲取數組元素對象,并通過json_object_object_get_ex()
獲取元素內部對象的屬性值。
總的來說,使用C語言解析JSON數組并不困難,只需要借助json-c庫中提供的函數,按照JSON數據的結構一層層進行解析即可。
上一篇c# list轉json
下一篇c# json添加元素