在C語言中,JSON是一種流行的數(shù)據(jù)格式用于存儲和傳輸數(shù)據(jù)。如果要從 JSON 數(shù)組中獲取值,可以使用C中的 json-c 庫。
json-c 庫提供了一個(gè)簡單的API,可以方便地從JSON中提取值。要獲取數(shù)組中的值,可以使用 json_object_array_get_idx() 函數(shù)。
#include <json-c/json.h> int main() { const char *json_str = "[1, 2, 3]"; //JSON字符串 json_object *jobj_arr = json_tokener_parse(json_str); //將JSON字符串解析為JSON對象 int arr_len = json_object_array_length(jobj_arr); //獲取JSON數(shù)組的長度 int i; for (i = 0; i < arr_len; ++i) { json_object *jobj = json_object_array_get_idx(jobj_arr, i); //獲取數(shù)組的第i項(xiàng) int value = json_object_get_int(jobj); //將JSON對象轉(zhuǎn)換為整數(shù) printf("array[%d] = %d\n", i, value); } return 0; }
上面的代碼首先將 JSON 字符串解析為 JSON 對象,然后使用 json_object_array_length() 獲取 JSON 數(shù)組的長度。然后遍歷數(shù)組,并使用 json_object_array_get_idx() 函數(shù)獲取數(shù)組的每一項(xiàng)。最后,用 json_object_get_int() 將JSON對象轉(zhuǎn)換為整數(shù),并在控制臺上輸出數(shù)組的每一項(xiàng)。