当先锋百科网

首页 1 2 3 4 5 6 7

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的实用知识。