C语言是一种被广泛使用的编程语言,而Json是一种轻量级的数据交换格式,常用于Web应用中。在C语言中,通过文件读写可以方便地读取和写入Json文件。
读取Json文件可以使用第三方库,比如cJSON。以下是一个例子,读取一个名为“example.json”的文件,获取其中的一个数组并输出到控制台。
#include#include "cJSON.h" int main() { FILE *fp; char buffer[1024]; cJSON *root = NULL; cJSON *array = NULL; fp = fopen("example.json", "rb"); fread(buffer, 1, 1024, fp); fclose(fp); root = cJSON_Parse(buffer); if(NULL == root) { printf("Json file error\n"); return -1; } array = cJSON_GetObjectItem(root, "array"); printf("%s\n", cJSON_Print(array)); cJSON_Delete(root); return 0; }
要写入Json文件,也可以使用cJSON库。以下是一个例子,创建一个名为“example.json”的文件,写入一个包含两个键值对的对象。
#include#include "cJSON.h" int main() { FILE *fp; cJSON *root = NULL; cJSON *object = NULL; cJSON *key1 = NULL; cJSON *key2 = NULL; cJSON *value1 = NULL; cJSON *value2 = NULL; root = cJSON_CreateObject(); object = cJSON_CreateObject(); cJSON_AddItemToObject(root, "object", object); key1 = cJSON_CreateString("key1"); key2 = cJSON_CreateString("key2"); cJSON_AddItemToObject(object, "key1", value1); cJSON_AddItemToObject(object, "key2", value2); value1 = cJSON_CreateNumber(1); value2 = cJSON_CreateNumber(2); fp = fopen("example.json", "wb"); fprintf(fp, "%s", cJSON_Print(root)); fclose(fp); cJSON_Delete(root); return 0; }
这是两个基本的例子,使用cJSON库操作Json文件非常简单。但是需要注意的是,Json文件需要满足一定的格式要求,否则读取文件时会出错。希望这篇文章能够为大家提供一些关于C语言读写Json的实用知识。