欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

c 如何創建json文件怎么打開

榮姿康1年前7瀏覽0評論

JSON是一種輕量級的數據交換格式,在前后端開發中經常會用到。下面我們來看看如何在C語言中創建JSON文件。

#include <stdio.h>
#include <jansson.h>
int main() {
json_t *root;
json_t *array;
json_t *obj1, *obj2;
json_t *str, *val;
const char *filename = "example.json";
root = json_object(); // 創建一個JSON對象
str = json_string("hello, world"); // 創建一個字符串
json_object_set(root, "message", str); // 將字符串添加到對象中
array = json_array(); // 創建一個JSON數組
obj1 = json_object(); // 創建另一個JSON對象
str = json_string("Alice");
val = json_integer(25);
json_object_set(obj1, "name", str);
json_object_set(obj1, "age", val);
json_array_append(array, obj1); // 將對象添加到數組中
obj2 = json_object(); // 創建一個新的JSON對象
str = json_string("Bob");
val = json_integer(30);
json_object_set(obj2, "name", str);
json_object_set(obj2, "age", val);
json_array_append(array, obj2); // 將對象添加到數組中
json_object_set(root, "people", array); // 將數組添加到對象中
json_dump_file(root, filename, JSON_INDENT(4)); // 將JSON對象寫入文件中
json_decref(root); // 釋放JSON對象
return 0;
}

上述代碼使用了jansson庫來創建JSON對象,并將其寫入文件example.json中。其中,json_object_set用于將一個JSON對象添加到另一個JSON對象中,json_array_append用于將一個JSON對象添加到JSON數組中,json_dump_file用于將JSON對象寫入文件中。JSON_INDENT(4)指定每個層級縮進4個空格。

接下來,我們來看看如何在C語言中打開JSON文件。

#include <stdio.h>
#include <jansson.h>
int main() {
json_t *root;
json_error_t error;
const char *filename = "example.json";
root = json_load_file(filename, 0, &error); // 加載JSON文件
if (!root) {
fprintf(stderr, "error: on line %d: %s\n", error.line, error.text);
return 1;
}
json_t *message = json_object_get(root, "message"); // 獲取JSON對象中的值
const char *msg = json_string_value(message);
printf("message: %s\n", msg);
json_t *people = json_object_get(root, "people");
size_t index;
json_t *value;
json_array_foreach(people, index, value) { // 遍歷JSON數組
json_t *name = json_object_get(value, "name");
json_t *age = json_object_get(value, "age");
const char *n = json_string_value(name);
int a = json_integer_value(age);
printf("name: %s, age: %d\n", n, a);
}
json_decref(root); // 釋放JSON對象
return 0;
}

上述代碼使用了json_load_file函數加載example.json文件,如果加載失敗則會打印錯誤信息。使用json_object_get函數獲取JSON對象中的值,使用json_array_foreach函數遍歷JSON數組。使用json_string_value和json_integer_value函數分別獲取字符串和數字類型的值。