在C語言中,通過使用json-c
庫可以輕松地對JSON數(shù)據(jù)進(jìn)行解析,并從中提取所需的數(shù)據(jù)。在本文中,我們將討論如何將JSON數(shù)據(jù)中的值賦值給數(shù)組。
#include <stdio.h> #include <stdlib.h> #include <json-c/json.h> int main() { const char *json_string = "{ \"data\": [1, 2, 3, 4, 5] }"; struct json_object *parsed_json; struct json_object *data; struct json_object *array; /* 解析JSON數(shù)據(jù) */ parsed_json = json_tokener_parse(json_string); /* 獲取"data"字段 */ json_object_object_get_ex(parsed_json, "data", &data); /* 將"data"字段轉(zhuǎn)換為數(shù)組 */ array = json_object_array_get_idx(data, 0); /* 輸出數(shù)組元素 */ for (int i=0; i在這個例子中,我們首先創(chuàng)建一個包含整型值的JSON數(shù)組,并將其轉(zhuǎn)換為字符串。我們使用
json_tokener_parse()
函數(shù)將JSON字符串解析為一個json_object
類型的對象。然后,我們使用
json_object_object_get_ex()
函數(shù)獲取JSON對象中名為"data"的字段,并將其存儲在data
對象中。接下來,我們使用json_object_array_get_idx()
函數(shù)將"data"字段轉(zhuǎn)換為一個JSON數(shù)組,并將其存儲在array
對象中。最后,我們使用
json_object_array_length()
函數(shù)獲取數(shù)組長度,并使用json_object_array_get_idx()
函數(shù)獲取每個數(shù)組元素的值,并將其存儲在一個整型變量中。最后,我們將這些值打印到控制臺。