Cocos2d-x添加jsoncpp应该资料都有了,今天来讲讲数组的解析和拼装~

  1. int main()
  2. {
  3. 数组创建与分析:
  4. 例子一:
  5. string strValue = "{\"ldh\":\"001\",\"gfc\":\"002\",\"yyj\":\"003\",\"andy\":[\"005\",\"123\",\"true\"]}";
  6. Json::Reader read;
  7. Json::Value value;
  8. value["ldh"] = "001";
  9. value["gfc"] = "002";
  10. value["andy"].append( "005" );
  11. value["andy"].append( "123" );
  12. value["andy"].append( "true" );
  13. //if( read.parse( strValue,value ) )
  14. {
  15. Json::Value val_array = value["andy"];
  16. int iSize = val_array.size();
  17. for ( int nIndex = 0;nIndex < iSize;++ nIndex )
  18. {
  19. cout<<val_array[nIndex]<<endl;
  20. }
  21. }
  22. 例子二:
  23. Json::Reader read;
  24. Json::Value value;
  25. value["ldh"] = "001";
  26. value["gfc"] = "002";
  27. Value item;
  28. Value array;
  29. item["andy1"] = "005";
  30. array.append( item );
  31. item["andy1"] = "123";
  32. array.append( item );
  33. item["andy1"] = "true";
  34. array.append( item );
  35. value["andy"] = array;
  36. cout<<value.toStyledString()<<endl;
  37. Json::Value val_array = value["andy"];
  38. int iSize = val_array.size();
  39. for ( int nIndex = 0;nIndex < iSize;++ nIndex )
  40. {
  41. cout<<val_array[nIndex]<<endl;
  42. if ( !val_array[nIndex]["andy1"].isNull() )
  43. {
  44. cout<<val_array[nIndex]["andy1"]<<endl;
  45. }
  46. }
  47. 例子三:
  48. std::string strValue = "{\"name\":\"json\",\"array\":[{\"cpp\":\"jsoncpp\"},{\"java\":\"jsoninjava\"},{\"php\":\"support\"}]}";
  49. Json::Value value;
  50. Reader read;
  51. if ( !read.parse( strValue,value ) )
  52. {
  53. return -1;
  54. }
  55. cout<<value.toStyledString()<<endl;
  56. Json::Value val_array = value["array"];
  57. int iSize = val_array.size();
  58. for ( int nIndex = 0;nIndex < iSize;++ nIndex )
  59. {
  60. cout<<val_array[nIndex]<<endl;
  61. if ( val_array[nIndex].isMember( "cpp" ) )
  62. {
  63. cout<<val_array[nIndex]["cpp"]<<endl;
  64. }
  65. }
  66. getchar();
  67. return 0;
  68. }

jsoncpp解析拼装数组的更多相关文章

  1. xml格式报文的拼装,和解析成实体类

    我们的微信支付,使用的是第三方的支付,某银行的微信支持渠道.所有的接口请求.应答都是xml格式报文,这样就需要用到xml格式报文的拼装和解析,这儿简单讲一下. 拼接xml格式报文. 从页面表单提交和配 ...

  2. 使用Map辅助拼装树状结构,消除递归调用

    目前菜单或其他树状结构在数据库中的存储,多数是以一个parentid作为关联字段,以一维形式存储.使用时全部查询出来,然后在内存中拼装成树状结构.现在主要涉及的是拼装方法的问题. 一般可以进行 递归调 ...

  3. Yii2查询之where条件拼装

    目录 1 语法 2 哈希格式 3 运算符格式 3.1 对比 3.2 and 3.3 or 3.4 not 3.5 between和not between 3.6 in和not in 3.7 like ...

  4. 数据结构图文解析之:数组、单链表、双链表介绍及C++模板实现

    0. 数据结构图文解析系列 数据结构系列文章 数据结构图文解析之:数组.单链表.双链表介绍及C++模板实现 数据结构图文解析之:栈的简介及C++模板实现 数据结构图文解析之:队列详解与C++模板实现 ...

  5. Json---使用Jsoncpp解析与写入

    上述Json解析使用的是Jsoncpp,要使用Jsoncpp,得做如下几步的配置: 1.首先从http://sourceforge.net/projects/jsoncpp/下载,压缩包大约105k. ...

  6. 【Raspberry Pi】新入手的Raspberry Pi3拼装日志

    一.概述 2016年暑假某宝入手Raspberry Pi 3,装机清单: 树莓派主板 亚克力外壳 小风扇 散热片 30G SD card 螺丝若干颗 因机型问题,可能与你的机器有微小差异 二.装机过程 ...

  7. Ibatis动态拼装sql,常用标签总结及举栗子。

    今天得到项目经理一项任务,就是拼装sql,第一次见到,不是太懂,赶紧回来睡一觉再说,由于这次的项目orm使用的是ibatis框架,所以需要使用动态拼装sql,或者是ognl语言,这门语言不是专属于ib ...

  8. JS 拼装代码的HTML onClick方法传递字符串

    有时会在JS中拼装HTML代码,这时在HTML中出现的onClick()方法中: 1.出现传递Num型的数据,直接拼装进去即可: 2.可能会出现传递字符串的情况,处理方法比较特殊,如下: a:直接字符 ...

  9. JS下高效拼装字符串的几种方法比较与测试代码

    在使用Ajax提交信息时,我可能常常需要拼装一些比较大的字符串通过XmlHttp来完成POST提交.尽管提交这样大的信息的做法看起来并不优雅,但有时我们可能不得不面对这样的需求.那么JavaScrip ...

随机推荐

  1. selenium(五)伪造浏览器

    简介: 这个就比较好玩了,大家还记得以前的QQ小尾巴么?还有百度贴吧的小尾巴,就是那个来自***的iphone7,这个功能. 这个功能是基于浏览器的user-agent功能实现的. 还是httpbin ...

  2. IOS语言总结

    本文主要介绍和C++不同的地方. 1.类的定义: 一个类有两个文件一个.h还有一个.m文件 #import <Foundation/Foundation.h> @interface MyC ...

  3. Swift网络封装库Moya中文手册之Plugins

    Plugins Moya plugins用于反映请求的发起或接收.Plugins定义为 PluginType 属性,可以在请求准备发起和接收到返回数据时回调. Built in plugins Moy ...

  4. Introduction of Build Tool/Maven, Gradle

    什么是build tool: build tool是可以自动由源代码创建可执行的应用程序的程序. Building 包括编译.链接和打包代码成一个可用的或可执行形式. 在小型项目,开发人员常常会手动调 ...

  5. linux下yum安装jdk1.8(rpm包)和tomcat-8.5

    Java是目前可移植性较高的语言,相当火热,tomcat运行就需要Java语言环境 ========= 完美的分割线 ========= 0.java简介 1)tomcat运行需要对应的Java环境, ...

  6. I.MX6 Linux Serial Baud Rate hacking

    /******************************************************************************** * I.MX6 Linux Seri ...

  7. git设置ss代理

    // 查看当前代理设置 git config --global http.proxy http/https协议 //设置代理(clone https://前缀的repo会走代理) git config ...

  8. Future接口和FutureTask类【FutureTask实现了Runnable和Future接口】

    Future API: public interface Future<V> { /** * Attempts to cancel execution of this task. This ...

  9. V4L2 subdev

    除了通过v4l2_subdev_ops结构体暴露kernel API,V4L2 sub-devices也可以被用户空间应用直接控制.v4l-subdevX的设备节点可以在/dev下被创建来直接访问su ...

  10. zeroMQ 学习

    zeroMQ 是一个高性能的分布式设计的消息队列,网上有人进行过性能的比较,非常厉害,并且很大约40多种语言的API 可以调用,真实很不错的. 而且有一点就是使用简单,不需要服务器,对于使用C/C++ ...