C語(yǔ)言是一門十分流行的編程語(yǔ)言,可以通過(guò)使用各種開(kāi)源庫(kù)來(lái)擴(kuò)展它的功能,其中 JSON-C 庫(kù)是一個(gè)處理 JSON 數(shù)據(jù)的常用庫(kù)。在 JSON-C 庫(kù)中,可以使用 JSON 數(shù)組來(lái)存儲(chǔ)一組 JSON 對(duì)象。
#include <stdio.h> #include <stdlib.h> #include <json-c/json.h> int main() { char *json_string = "{ \"cars\" : [\"Ford\", \"BMW\", \"Fiat\", \"Toyota\"]}"; struct json_object *json = json_tokener_parse(json_string); struct json_object *cars = NULL; json_object_object_get_ex(json, "cars", &cars); int len = json_object_array_length(cars); printf("There are %d cars in the array:\n", len); for (int i = 0; i < len; i++) { struct json_object *car = json_object_array_get_idx(cars, i); printf("%s\n", json_object_get_string(car)); } json_object_put(json); return 0; }
上面這段代碼實(shí)現(xiàn)了如何使用 JSON-C 庫(kù)中的 JSON 數(shù)組來(lái)存儲(chǔ)一組字符串,例如這里存儲(chǔ)了四個(gè)汽車品牌。可以看到,首先要包含 JSON-C 庫(kù)的頭文件,然后在 main() 函數(shù)中定義一個(gè)字符串變量,該字符串是一個(gè) JSON 格式的字符串,其中包含一個(gè) cars 數(shù)組。下一步,使用 json_tokener_parse() 函數(shù)將該 JSON 字符串解析為一個(gè) json_object 對(duì)象。接著,使用 json_object_object_get_ex() 函數(shù)來(lái)獲取 cars 數(shù)組對(duì)象。在循環(huán)中,使用 json_object_array_get_idx() 函數(shù)來(lái)獲取數(shù)組中的每個(gè)字符串元素,并使用 json_object_get_string() 函數(shù)來(lái)獲取字符串內(nèi)容。
需要注意的是,在程序結(jié)尾處,需要調(diào)用 json_object_put() 函數(shù)來(lái)釋放內(nèi)存。
總之,JSON-C 庫(kù)中的 JSON 數(shù)組可以方便地存儲(chǔ)一組 JSON 對(duì)象,從而方便地處理和解析 JSON 數(shù)據(jù)。