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

c read json file

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

在C語言中,讀取JSON文件是常見的操作之一。通過讀取JSON文件,我們可以在程序中使用JSON格式的數據進行數據處理和操作。在本文中,我們將介紹如何使用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()函數可以將JSON字符串轉換為JSON對象,第一個參數為JSON字符串,第二個參數為長度,第三個參數為錯誤信息的指針。如果JSON轉換成功,則返回JSON對象;否則,返回NULL。

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

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

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

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

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