c语言解析json数据
先看json的数据结构
c中没有对象,所以json数据是采用链表存储的
- typedef struct cJSON {
- struct cJSON *next,*prev; // 数组 对象数据中用到
- struct cJSON *child; // 数组 和对象中指向子数组对象或值
- int type; // 元素的类型,如是对象还是数组
- char *valuestring; // 如果是字符串
- int valueint; // 如果是数值
- double valuedouble; // 如果类型是cJSON_Number
- char *string; // The item's name string, if this item is the child of, or is in the list of subitems of an object.
- } cJSON;
比如你有一个json数据
- {
- "name": "Jack (\"Bee\") Nimble",
- "format": {
- "type": "rect",
- "width": 1920,
- "height": 1080,
- "interlace": false,
- "frame rate": 24
- }
- }
那么你可以
1:讲字符串解析成json结构体。
- cJSON *root = cJSON_Parse(my_json_string);
2:获取某个元素
- cJSON *format = cJSON_GetObjectItem(root,"format");
- int framerate = cJSON_GetObjectItem(format,"frame rate")->valueint;
3:讲json结构体转换成字符串
- char *rendered=cJSON_Print(root);
4:删除
- cJSON_Delete(root);
5:构建一个json结构体
- cJSON *root,*fmt;
- root=cJSON_CreateObject();
- cJSON_AddItemToObject(root, "name", cJSON_CreateString("Jack (\"Bee\") Nimble"));
- cJSON_AddItemToObject(root, "format", fmt=cJSON_CreateObject());
- cJSON_AddStringToObject(fmt,"type", "rect");
- cJSON_AddNumberToObject(fmt,"width", 1920);
- cJSON_AddNumberToObject(fmt,"height", 1080);
- cJSON_AddFalseToObject (fmt,"interlace");
- cJSON_AddNumberToObject(fmt,"frame rate", 24);
c语言解析json数据相关推荐
- JAVA 解析JSON数据
JSON 是目前最流行的轻量级数据交换语言(没有之一).尽管他是javaScript的一个子集.但由于其是独立与语言的文本格式,它几乎可以被所有编程语言所支持. 以下是对java 语言中解析json数 ...
- c语言解析json报文源码,GitHub - faycheng/cJSON: cJson源码和源码分析
cJSON官方文档翻译 项目预期目标 文档翻译 函数列表 项目架构 源码注释 解析流程 快速使用 ###版权说明 Copyright (c) 2009 Dave Gamble Permission i ...
- python自动解析json_Python语言解析JSON详解
本文主要向大家介绍了Python语言解析JSON详解,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助. JSON 函数使用 JSON 函数需要导入 json 库:import jso ...
- gson解析php,php,android_关于 Gson 解析JSON数据。。。,php,android - phpStudy
关于 Gson 解析JSON数据... 1.首先,我是从服务器端传回来的JSON数据如下: {"info":"succeed","user_id&qu ...
- 【Python使用】Python解析JSON数据的基本方法/用MATLAB解析json格式数据
一 JSON数据格式介绍 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式. JSON建构于两种结构:json是Javascript中的对象和数组中的对象, ...
- Andorid中使用Gson和Fast-json解析库解析JSON数据---第三方库学习笔记(二)
JSON介绍: JSON:JavaScript对象表示法 JSON是存储和交换文本信息的语法. 特点: JSON是轻量级的文本数据交换格式 JSON独立于语言和平台 JSON具有自我描述性,更易理解 ...
- Python爬虫笔记——解析json数据(以周杰伦歌单为例)及Headers
一.Network Network能够记录浏览器的所有请求.我们最常用的是:ALL(查看全部)/XHR(仅查看XHR)/Doc(Document,第0个请求一般在这里),有时候也会看看:Img(仅查看 ...
- C/C++程序开发: cJSON的使用(创建与解析JSON数据)
一.cJSON介绍 cJSON 是一个超轻巧,携带方便,单文件,可以作为 ANSI-C 标准的 JSON 解析器,是一个用C语言编写的简单好用的JSON解析器:它只包含一个C文件和一个头文件,可以非常 ...
- ajax写入json数据格式化,java ajax解析json数据格式化
java ajax解析json数据格式化 [2021-02-01 23:35:58] 简介: 服务器 hadoop格式化HDFS出现错误解决办法 报错信息: host:java.net.Unknow ...
最新文章
- c语言解逻辑问题的一般步骤,C语言面试题---逻辑短路问题
- 平衡二叉查找树 AVL 的实现
- vue2.0+stylus实现星级评定组件,computed计算属性实现全星半星,动态改变星级,多种星星规格
- python中时间处理_Python中处理时间的几种方法小结
- H.264的CAVLC(编码.解码)过程详解
- python网络爬虫系列(七)——selenium的介绍 selenium定位获取标签对象并提取数据 selenium的其它使用方法
- LeetCode 1220. 统计元音字母序列的数目(DP)
- mysql锁场景_MySQL死锁系列-常见加锁场景分析
- 一年级abb式词语并造句_ABB式词语如何活学活用,家长都收藏了!
- CHROME 拖动安装插件报错CRX_HEADER_INVALID的解决办法
- mysql indexkey提取,MySQL元数据获取基础笔记day06
- Android 面(被)试(锤)现场还原~
- 教育大数据采集机制与关键技术研究
- VS2017离线安装过程及下载缓慢处理(项目打包部署)
- oracle+sql+groupby,oracle学习笔记2:SQL执行
- 使用ifconfig结合awk提取主机的IP地址方法
- Flutter 修改App Logo图标
- IBUFDS、IBUFGDS和OBUFDS
- 树的数据结构代码_如何以无代码方式学习树数据结构
- 两个处理IP好用的Python库ipaddr和netaddr
热门文章
- spring cloud config笔记
- 对VOC目标检测数据进行增强
- php time相差12小时_PHP服务器时间差8小时解决方案
- tomcat7 java_Tomcat7安装(jdk 1.7环境)
- 白领学python_大学生应该早早自学Python,Ps,Pr,office三件套,还是等到要用的时候再学?...
- git提交屏蔽某java类_git 删除某次指定的提交
- 关于python的全局变量和局部变量、以下描述错误的是_Python:全局变量与局部变量的问题...
- spark2.4.5源码编译成hadoop-2.6.0-cdh5.15.1
- genymotion局域网访问_请问一下genymotion如何连接到内网上一个网站
- HTML里的表格不能复制粘贴,表格之间无法复制粘贴怎么办_两个EXCEL表格为什么不能复制和粘贴-win7之家...