创建如下结构:

{
	"country":	"中国",
	"province":	{
		"name":	"台湾",
		"city":	["台北", "高雄"]
	}
}

demon如下

#include <stdio.h>
#include "cJSON.h"

int creat_json()
{
	char *creat_json = NULL;

	cJSON *json=NULL;
	cJSON *province=NULL;
	cJSON *twcityArray=NULL;
	
/*1.初始化*/	
	//创建一个json对象,返回一个cJSON结构体类型的指针。
	json=cJSON_CreateObject();

	//创建一个json对象,返回一个cJSON结构体类型的指针。
	province=cJSON_CreateObject();
	twcityArray = cJSON_CreateArray();

/*2.填充初始化的结构体类型*/	
	//向jison对象中添加字符串
	cJSON_AddStringToObject(json, "country", "中国");
	cJSON_AddStringToObject(province, "name", "台湾");

	//向数组对象中添加一个元素
	cJSON_AddItemToArray(twcityArray, cJSON_CreateString("台北"));
	cJSON_AddItemToArray(twcityArray, cJSON_CreateString("高雄"));

/*3.结构体嵌套填充*/
	//向cJSON结构体province中添加cityArray数组对象
	cJSON_AddItemToObject(province, "city", twcityArray);

	//向cJSON结构体json中添加province的cJSON结构体
	cJSON_AddItemToObject(json, "province", province);
	
	//cJSON_Print(json)将一个cJSON结构体代表的json对象转换为一个json格式的字符串
	printf("%s\n", cJSON_Print(json));
	return 0;
}


int main()
{
	creat_json();
	return 0;
}

Mskefile

LDFLAGS = -lm
OBJES = cJSON.o creat_json.o

creat_json: $(OBJES) 
	gcc $(OBJES) -o creat_json $(LDFLAGS)
test.o:creat_json.c cJSON.h
	gcc -c creat_json.c -o creat_json.o
cJSON.o:cJSON.c cJSON.h
	gcc -c cJSON.c -o cJSON.o
clean:
	rm -rf *.o creat_json


运行结果
在这里插入图片描述
cJSON下载过程

GitHub 加速计划 / cj / cJSON
10.45 K
3.16 K
下载
Ultralightweight JSON parser in ANSI C
最近提交(Master分支:2 个月前 )
424ce4ce This reverts commit 5b502cdbfb21fbe5f6cf9ffbd2b96e4281a741e6. Related to #860 4 个月前
32497300 - 5 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐