色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

c 讀取json文件 返回字符串數組

錢琪琛1年前8瀏覽0評論

在C語言中,要讀取JSON文件并返回字符串數組可以使用標準庫中的json-c庫。下面是一個示例:

#include <stdio.h>
#include <stdlib.h>
#include <json-c/json.h>
int main() {
FILE *fp;
char buffer[1024];
struct json_object *parsed_json;
struct json_object *array;
fp = fopen("example.json", "r");
fread(buffer, 1024, 1, fp);
fclose(fp);
parsed_json = json_tokener_parse(buffer);
json_object_object_get_ex(parsed_json, "items", &array);
int i;
int array_len = json_object_array_length(array);
char *strings[array_len];
for (i = 0; i< array_len; i++) {
struct json_object *item = json_object_array_get_idx(array, i);
const char *str = json_object_get_string(item);
strings[i] = malloc(strlen(str) + 1);
strcpy(strings[i], str);
}
// Do something with the strings array...
for (i = 0; i< array_len; i++) {
free(strings[i]);
}
return 0;
}

在這個示例中,example.json文件有如下內容:

{
"items": [
"foo",
"bar",
"baz"
]
}

C代碼首先打開文件并讀取其內容到緩沖區中。然后,使用json_tokener_parse函數將緩沖區內容解析為json_object結構體。然后,使用json_object_object_get_ex函數獲取items數組對象。

接下來,在循環中遍歷數組并使用json_object_get_string函數獲取每個條目的字符串內容。然后,將字符串保存在動態分配的內存中,并將其添加到字符串數組中。

最后,程序完成對字符串數組的操作并釋放動態分配的內存。