cJSON学习笔记 续集
void create_single_number(void) {
cJSON *root;
char *out;
int value = 24;
root = cJSON_CreateObject(); // 创建根
cJSON_AddItemToObject(root, "value", cJSON_CreateNumber(value));
// 打印并释放
out = cJSON_Print(root); cJSON_Delete(root); printf("%s\n",out); free(out);
// 控制台输出
#if 0
{
"value": 24
}
#endif
}
void create_single_string(void) {
cJSON *root;
char *out;
char *name = "xukai871105";
root = cJSON_CreateObject(); // 创建根
// 方法 使用cJSON_AddItemToObject,推荐使用
cJSON_AddItemToObject(root, "name", cJSON_CreateString(name));
// 打印并释放
out = cJSON_Print(root); cJSON_Delete(root); printf("%s\n",out); free(out);
// 控制台输出
#if 0
{
"name": "xukai871105"
}
#endif
}
void create_bool(void) {
cJSON *root;
char *out;
root = cJSON_CreateObject(); // 创建根
cJSON_AddItemToObject(root, "success", cJSON_CreateFalse());
// 打印并释放
out = cJSON_Print(root); cJSON_Delete(root); printf("%s\n",out); free(out);
// 控制台输出
#if 0
{
"success": false
}
#endif
}
void create_simple(void) {
cJSON *root;
char *out;
int list[4] = {5,6,7,8};
root = cJSON_CreateObject(); // 创建根
cJSON_AddItemToObject(root, "lists", cJSON_CreateIntArray(list, 4));
// 打印并释放
out = cJSON_Print(root); cJSON_Delete(root); printf("%s\n",out); free(out);
// 控制台输出
#if 0
{
"lists": [5, 6, 7, 8]
}
#endif
}
void create_complex(void) {
cJSON *root, *rows, *row;
char *out;
int i = 0;
char *title[3] = { "树莓派学习笔记——索引博文",
"树莓派学习笔记——GPIO功能学习",
"物联网学习笔记——索引博文"};
char *url[3] = { "http://blog.csdn.net/xukai871105/article/details/23115627",
"http://blog.csdn.net/xukai871105/article/details/12684617",
"http://blog.csdn.net/xukai871105/article/details/23366187"};
root = cJSON_CreateObject(); // 创建根
cJSON_AddNumberToObject(root, "total", 3);
// 在object中加入array
cJSON_AddItemToObject(root, "rows", rows = cJSON_CreateArray());
for(i = 0; i < 3; i++) {
// 在array中加入object
cJSON_AddItemToArray(rows, row = cJSON_CreateObject());
cJSON_AddItemToObject(row, "title", cJSON_CreateString(title[i]));
cJSON_AddItemToObject(row, "url", cJSON_CreateString(url[i]));
}
// 打印并释放
out = cJSON_Print(root); cJSON_Delete(root); printf("%s\n",out); free(out);
// 控制台输出
#if 0
{
"total": 3,
"rows": [{
"title": "树莓派学习笔记——索引博文",
"url": "http://blog.csdn.net/xukai871105/article/details/23115627"
}, {
"title": "树莓派学习笔记——GPIO功能学习",
"url": "http://blog.csdn.net/xukai871105/article/details/12684617"
}, {
"title": "物联网学习笔记——索引博文",
"url": "http://blog.csdn.net/xukai871105/article/details/23366187"
}]
}
#endif
}
cJSON学习笔记 续集的更多相关文章
- cJSON学习笔记
1.JSON格式简述 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.易于人阅读和编写,同时也易于机器解析和生成.它基于JavaScript(Standa ...
- turtle学习笔记续集
turtle(海龟)是Python重要的标准库之一,它能够进行基本的图形绘制.turtle图形绘制的概念诞生于1969年,成功应用于LOGO编程语言. turtle库绘制图形有一个基本框架:一个小海龟 ...
- DirectX 11游戏编程学习笔记之1: 开场白
本文由哈利_蜘蛛侠原创,转载请注明出处.有问题欢迎联系2024958085@qq.com 这是我之前的博客系列"DirectX9.0c游戏开发手记之'龙书'第二版学习笔记 ...
- tensorflow学习笔记——使用TensorFlow操作MNIST数据(1)
续集请点击我:tensorflow学习笔记——使用TensorFlow操作MNIST数据(2) 本节开始学习使用tensorflow教程,当然从最简单的MNIST开始.这怎么说呢,就好比编程入门有He ...
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- PHP-自定义模板-学习笔记
1. 开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2. 整体架构图 ...
- PHP-会员登录与注册例子解析-学习笔记
1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...
- 2014年暑假c#学习笔记目录
2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...
- JAVA GUI编程学习笔记目录
2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...
随机推荐
- Cracking The Coding Interview 9.6
//原文: // // Given a matrix in which each row and each column is sorted, write a method to find an el ...
- 利用include动作实现参数传递
<%--程序string.jsp--%> <%@ page language="java" import="java.util.*" page ...
- shiro学习(三)权限 authenrication
主体 主体,即访问应用的用户,在Shiro中使用Subject代表该用户.用户只有授权后才允许访问相应的资源. 资源 在应用中用户可以访问的任何东西,比如访问JSP页面.查看/编辑某些数据.访问某个业 ...
- Spring学习二
Spring的表达式语言 SpEL,使用方法是#{} SpEL的特性如下 使用Bean 的ID 来引用Bean : 调用方法和访问对象的属性: 对值进行算术.关系和逻辑运算: 正则表达式匹配: 集合操 ...
- Ubuntu配置静态IP
1. 输入命令:sudo vi /etc/network/interfaces 编辑文件: auto lo iface lo inet loopback auto eth0 iface eth0 in ...
- uniDAC 7.2.14直联sqlite存在问题
用最新的uniDAC 7.2.14,设置Direct=True,直联sqlite数据库,发现Release状态下出错,Debug没有问题. 改成Direct=False,则没有问题. 警告! 各 ...
- Python 面向对象和面向过程对比
# 大象装冰箱 # 脚本, 此时代码是最简单的. 不需要构思整个程序的概况 print("开门") print("装大象") print("关门&qu ...
- robotframework·WEB端基础
date:2018526 day10 一.导入库 导入的库分两种,一种是导入常用库,如String.Collections等(Library String.Collections,再运用库中的关键字) ...
- HDU 5776 sum(抽屉原理)
题目传送:http://acm.hdu.edu.cn/showproblem.php?pid=5776 Problem Description Given a sequence, you're ask ...
- 栈 c实现
栈的数组实现 stack.h #ifndef _STACK_ #define _STACK_ #define SIZE 100 typedef int data_t; typedef struct h ...