json数组遍历-第5讲
遍历 JSON 数组的思路是:
1 通过 cJSON_GetArraySize() 函数获取数组的元素个数;
2 通过 cJSON_GetArrayItem() 函数,根据数组的下标,获取下标对应的元素;
//========================================================================
如下是测试的例子:
#include <stdio.h>
#include <stdlib.h>
#include "cJSON.h"
void json_create(void);
void json_parse(void);
//========================================================
//========================================================
void print_json(cJSON *p)
{
printf("============================\n");
printf("type = %d\n", p->type);
printf("valuestring = %s\n", p->valuestring);
printf("valueint = %d\n", p->valueint);
printf("valuedouble = %f\n", p->valuedouble);
printf("string = %s\n", p->string);
printf("============================\n");
}
//========================================================
//========================================================
int main (int argc, const char * argv[])
{
json_create();
}
//========================================================
//========================================================
void json_create(void)
{
cJSON *array = cJSON_CreateArray();
cJSON *v1;
int i;
cJSON_AddItemToArray(array, cJSON_CreateString("www"));
cJSON_AddItemToArray(array, cJSON_CreateNumber(12));
cJSON_AddItemToArray(array, cJSON_CreateNumber(12.345));
char *out = cJSON_Print(array);
printf("%s\n",out);
print_json(array);
int len = cJSON_GetArraySize(array);
printf("len = %d\n", len);
for(i = 0; i < len; i++)
{
v1 =cJSON_GetArrayItem(array , i);
print_json(v1);
}
cJSON_Delete(array);
}
运行的结果如下:
[hill@Ubunut10 test1]$./test
["www", 12, 12.345000]
============================
type = 5
valuestring = (null)
valueint = 0
valuedouble = 0.000000
string = (null)
============================
len = 3
============================
type = 4
valuestring = www
valueint = 0
valuedouble = 0.000000
string = (null)
============================
============================
type = 3
valuestring = (null)
valueint = 12
valuedouble = 12.000000
string = (null)
============================
============================
type = 3
valuestring = (null)
valueint = 12
valuedouble = 12.345000
string = (null)
============================
[hill@Ubunut10 test1]$
韦凯峰 Linux C/C++零基础编程教程
Linux系统编程,Openwrt系统开发
json数组遍历-第5讲相关推荐
- html如何遍历ajax数组,ajax返回json数组遍历添加到html
大致需求为类型限制根据类型获取不同结果列表,再根据模糊查询搜索出结果,效果如下:- 例子:利用AJAX返回JSON数据,间接访问数据库,查出Nation 表,并用下拉列表显示 造一个外部下拉列表框 J ...
- fastjson:json数组遍历
/** * 遍历JSONArray */ private static void LoopJSONArray(){ //颜色数组字符串 St ...
- c json 数组转dirction_值得掌握的命令行JSON工具jq
我们都知道现在JSON是最常用的配置和数据交换格式之一,尤其是大量的系统API接口现在基本上都是以JSON格式显示结果.JSON(JavaScript Object Notation) 是一种轻量级的 ...
- JSON数组,JSON对象,数组的区别
一.JSON 语法规则: JSON 是存储和交换文本信息的语法 在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML.JSON等, JSON作为一个轻量级的数据格式比xml效率要高,XML ...
- jQuery遍历json数组怎么整。。。
{"options":"[{\"text\":\"王家湾\",\"value\":\"9\" ...
- layui遍历json数组_shell脚本:json格式化与字段抓取(下)
接上一篇. 2 字段抓取 2.1 规则制定 先规定字段抓取的规则,对于给定的json: .:表示整个json: .fieldName:表示抓取fieldName字段的值,可能是字符串.布尔值.数字,或 ...
- 遍历json数组的常用方式
遍历json对象数组 1. 传统数组遍历 var data=[{"name":"zhangsan","age":12},{"nam ...
- powershell /遍历/psobject/字符串转换Json/json数组操作
读取json文档 $json = (Get-Content "C:\HDDList.json" -Raw) | ConvertFrom-Json $select=$json.Con ...
- js遍历json数组给html td赋值,JS实现给json数组动态赋值的方法示例
关注微信公众号 JS实现给json数组动态赋值的方法示例 转载 更新时间:2017年07月04日 10:19:00 作者:小魏的马仔 这篇文章主要介绍了JS实现给json数组动态赋值的方法,结合 ...
最新文章
- 美团架构师开源5万字的《Java面试手册》PDF免费下载!
- linux mysql 数据目录迁移后不生效_Linux中更改转移mysql数据库目录的步骤
- 如何将自己的代码放到github上
- 使用redis的发布订阅模式实现消息队列
- 统计学习方法(第二版)-学习笔记
- 4. 用MVC实现URL路由
- C++之operator关键字(重载操作符) 使用总结
- endnote如何导入txt文件_python如何处理txt及excel文件
- pytorch的余弦退火学习率
- java 字符串截取_java截取字符串几种方式
- apk 反编译工具及使用
- 使用Excel生成符合正态分布的随机数
- 第四章:经典量化策略集锦(第八篇:CAPM模型的应用 )
- 每天老听别人念叨“算法+数据结构=程序”,知道是谁说的么?一起走进Pascal语言之父——图灵奖得主尼古拉斯·沃斯
- SSH Agent Forwarding概念与示例
- cesium绘制折线_polyline
- Appium(Python)测试混血App
- QuickBooks 2018 For Dummies 免积分下载
- MySQL数据库的基本操作-创建(create database)、选择(use)、查看(shows database)、删除(drop database)
- 什么是OAuth2,微信登录前后端实现,Coding在线(十三)