JSON是一種基于文本的數(shù)據(jù)交換格式,被廣泛應(yīng)用于Web應(yīng)用程序中。在C語(yǔ)言中,解析JSON數(shù)組對(duì)象是一種常見(jiàn)的操作。下面我們來(lái)介紹一下在C語(yǔ)言中如何解析JSON數(shù)組對(duì)象。
#include <stdio.h> #include <stdlib.h> #include <jansson.h> int main() { char *json_string = "[{\"name\": \"Tom\", \"age\": 20}, {\"name\": \"Linda\", \"age\": 25}]"; json_t *root, *data, *name, *age; size_t index; const char *str; int num; root = json_loads(json_string, 0, NULL); if (!root) { fprintf(stderr, "Unable to parse JSON\n"); return 1; } json_array_foreach(root, index, data) { name = json_object_get(data, "name"); age = json_object_get(data, "age"); str = json_string_value(name); num = json_integer_value(age); printf("%s is %d years old\n", str, num); } json_decref(root); return 0; }
首先,我們使用json_loads函數(shù)將JSON字符串解析為json_t類(lèi)型的對(duì)象,如果解析失敗則返回NULL。然后,使用json_array_foreach遍歷JSON數(shù)組對(duì)象,獲取其中的數(shù)據(jù)。我們使用json_object_get函數(shù)獲取JSON對(duì)象中的屬性,然后使用json_string_value和json_integer_value函數(shù)獲取該屬性對(duì)應(yīng)的值。最后,輸出每個(gè)JSON對(duì)象中的屬性值即可。
以上就是在C語(yǔ)言中解析JSON數(shù)組對(duì)象的方法,希望對(duì)大家有所幫助。