Json   发布时间:2022-04-22  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了cJson 创建 读取大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

http://blog.sina.com.cn/s/blog_5f28333901017kql.html
@H_618_3@

关于c语言操作json,cjson还挺好用,许多操作已经帮开发员封装好了,使用起来很方便。资源下载地址为:@H_618_3@http://sourceforge.net/projects/cjson/

在test.c文件中已经有很多例子,看了还不会使用可以直接看cjson.c文件,也不深奥,实际上就是个双链表,然后是对这个双链表进行增删改查@H_618_3@
记录下这两天运用到的@H_618_3@

现有一个json文件如下:
[
{
"id": "c1",
"option": "install",85); font-family:simsun; font-size:14.44444465637207px; line-height:21.111112594604492px">"fid": "1"},85); font-family:simsun; font-size:14.44444465637207px; line-height:21.111112594604492px">"id": "p1",85); font-family:simsun; font-size:14.44444465637207px; line-height:21.111112594604492px">"option": "notinstall",85); font-family:simsun; font-size:14.44444465637207px; line-height:21.111112594604492px">"fid": "2"
}
]
1. 读取一个json文件,返回json结构链表,注意,这里返回值必须为cJSON*,具体原因看上一篇文章。另外关于json的介绍看, http://www.json.org/json-zh.html
cJSON* GetJsonObject(char* filename,cJSON* json)
long len;
char* pContent;
int tmp;
FILE* fp = Open_File(filename,"rb+");
if(!fp)
return NULL;
fseek(fp,SEEK_END);
len=ftell(fp);
if(0 == len)
:rgb(85,SEEK_SET);@H_618_3@
pContent = (char*) malloc (sizeof(char)*len);
tmp = fread(pContent,1,len,fp);
Close_File(fp);
json=cJSON_Parse(pContent);
if (!json)
free(pContent);
return json;
2 读取cJSON索引为index的结点某个key值对应的value,索引从0开始
BOOL GetValueString(cJSON* json,int id,char* name,char* param)
cJSON* node;
node = cJSON_GetArrayItem(json,id);
if(!nodE)
return falSE;
sprintf(param,"%s",cJSON_GetObjectItem(node,Name)->valueString);
return TRUE;
比如读取id=1,name="name",得到param为"notinstall"
3 生成json文件
void Create_Pkgs(char* option1,char* option2)
cJSON *root,*fld;
char *out;
FILE* fp = Open_File(Pkgs_File,"w+");
root=cJSON_CreateArray();
cJSON_AddItemToArray(root,fld=cJSON_CreateObject());
cJSON_AddStringToObject(fld,"id","c1");



:rgb(85,option2);@H_618_3@
out=cJSON_Print(root);
fprintf(fp,out); cJSON_delete(root);
free(out);
out = NULL;

@H_618_3@root = NULL;@H_618_3@

}@H_618_3@

大佬总结

以上是大佬教程为你收集整理的cJson 创建 读取全部内容,希望文章能够帮你解决cJson 创建 读取所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。