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

c讀取json文件返回字符串

李中冰1年前7瀏覽0評論

JSON(JavaScript Object Notation)是一種輕量級數據交換格式,常用于web開發中。而C語言作為高性能的編程語言,也具備讀取和解析JSON格式數據的能力。下面我們將介紹如何使用C語言讀取JSON文件并返回字符串。

#include <stdio.h>
#include <jansson.h>
char* readJsonFile(const char* filename)
{
char* result = NULL;
FILE* fp = fopen(filename, "r");
if (fp != NULL) {
fseek(fp, 0, SEEK_END);
int length = ftell(fp);
fseek(fp, 0, SEEK_SET);
char* buffer = (char*)malloc(length+1);
if (buffer != NULL) {
fread(buffer, 1, length, fp);
buffer[length] = '\0';
result = buffer;
}
fclose(fp);
}
return result;
}
int main()
{
char* jsonStr = readJsonFile("test.json");   // test.json 是 JSON 文件
json_t* root;
json_error_t error;
root = json_loads(jsonStr, 0, &error);   // 讀取 JSON 字符串
if (!root) {
fprintf(stderr, "error: on line %d: %s\n", error.line, error.text);
return 1;
}
char* result = json_dumps(root, JSON_INDENT(4));   // 轉換為 JSON 字符串
printf("%s\n", result);
free(jsonStr);
free(result);
json_decref(root);
return 0;
}

首先需在程序中包含 JSON-C 庫頭文件。然后定義一個 readJsonFile函數,該函數接收一個文件名稱作為參數,并在打開該文件后將文件中的內容讀取到一個字符串中并返回。返回的字符串即為 JSON 格式的數據。接著在主函數中調用 readJsonFile函數讀取 JSON 文件,并使用 json_loads函數將 JSON 字符串轉換為 JSON 對象。若轉換失敗則向標準錯誤輸出提示錯誤信息。緊接著使用 json_dumps函數將 JSON 對象轉換為帶縮進的 JSON 字符串并輸出。最后需要釋放內存,清除資源。