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

c read json file

錢良釵2年前8瀏覽0評論

在C語言中,讀取JSON文件是常見的操作之一。通過讀取JSON文件,我們可以在程序中使用JSON格式的數(shù)據(jù)進行數(shù)據(jù)處理和操作。在本文中,我們將介紹如何使用C語言讀取JSON文件。

#include <stdio.h>
#include <stdlib.h>
#include <jansson.h>
int main() {
FILE *fp;
char buffer[1024];
fp = fopen("example.json", "r");
fread(buffer, 1024, 1, fp);
fclose(fp);
json_error_t error;
json_t *root = json_loads(buffer, 0, &error);
if(!root) {
printf("error: on line %d: %s\n", error.line, error.text);
exit(1);
}
json_t *data = json_object_get(root, "data");
int len = json_array_size(data);
for (int i=0; i<len; i++) {
json_t *item = json_array_get(data, i);
json_t *name = json_object_get(item, "name");
json_t *age = json_object_get(item, "age");
char *name_str = json_string_value(name);
int age_int = json_integer_value(age);
printf("name: %s, age: %d\n", name_str, age_int);
}
json_decref(root);
return 0;
}

上面的代碼使用了jansson庫,該庫提供了一組API來讀取和處理JSON文件。

#include <jansson.h>
json_t *json_loads(const char *buffer, size_t buflen, json_error_t *error);

json_loads()函數(shù)可以將JSON字符串轉換為JSON對象,第一個參數(shù)為JSON字符串,第二個參數(shù)為長度,第三個參數(shù)為錯誤信息的指針。如果JSON轉換成功,則返回JSON對象;否則,返回NULL。

json_t *json_object_get(const json_t *object, const char *key);

json_object_get()函數(shù)可以返回JSON對象中指定鍵的值。第一個參數(shù)為JSON對象,第二個參數(shù)為需要返回值的鍵名。

size_t json_array_size(const json_t *array);
json_t *json_array_get(const json_t *array, size_t index);

json_array_size()函數(shù)返回數(shù)組的長度,json_array_get()函數(shù)返回數(shù)組中指定索引的值。

通過以上函數(shù)的調用,我們可以很方便地讀取JSON文件中的數(shù)據(jù)并進行處理。