JSON 是一種輕量級數(shù)據(jù)交換格式,常用于Web應用間發(fā)送數(shù)據(jù),其中 數(shù)組 是一種常見的JSON數(shù)據(jù)類型。在C語言中,我們可以使用第三方庫或手動解析JSON字符串來獲取JSON數(shù)組數(shù)據(jù)。
#include <stdio.h>
#include <jansson.h>
int main() {
char* json_string = "[1,2,3,4,5]";
json_error_t error;
json_t *root = json_loads(json_string, 0, &error);
if (!root) {
printf("error: on line %d: %s\n", error.line, error.text);
return 1;
}
if (!json_is_array(root)) {
printf("error: root is not an array\n");
return 1;
}
for (int i = 0; i < json_array_size(root); i++) {
json_t *value = json_array_get(root, i);
if (!json_is_integer(value)) {
printf("error: value %d is not an integer\n", i+1);
return 1;
}
printf("value %d: %ld\n", i+1, json_integer_value(value));
}
json_decref(root);
return 0;
}
在上述代碼中,我們使用jansson庫的json_loads函數(shù)將JSON字符串解析為json_t數(shù)據(jù)類型。接著,我們判斷解析得到的數(shù)據(jù)是否為數(shù)組類型,并遍歷數(shù)組中的元素,輸出每個元素的值。