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. IO文件相关操作

    IO编程 IO 即Input/Output  input stream 就是数据从外面(磁盘.网络)流进内存,output stream 就是数据从内存流到外面去. 通常cpu 和 内存的速度远远高于 ...

  2. js解码编码decodeURI与decodeURIComponent区别

    ###decodeURI与decodeURIComponent区别 1. 概念: URI: Uniform ResourceIdentifiers,通用资源标识符 Global对象的encodeURI ...

  3. DevExpress v18.1新版亮点——ASP.NET篇(四)

    用户界面套包DevExpress v18.1日前终于正式发布,本站将以连载的形式为大家介绍各版本新增内容.本文将介绍了DevExpress ASP.NET v18.1 的新功能,快来下载试用新版本!点 ...

  4. DevExpress XtraScheduler日程管理控件应用实例(2)-- 深入理解数据存储

    DevExpress年终击穿底价,单套授权低至67折!查看详情>>> 在上篇随笔<DevExpress XtraScheduler日程管理控件应用实例(1)-- 基本使用> ...

  5. python struct模块的使用

    struct模块中的函数 函数 return explain pack(fmt,v1,v2…) string 按照给定的格式(fmt),把数据转换成字符串(字节流),并将该字符串返回. pack_in ...

  6. L215 Visual impairment

    Visual impairment(视觉障碍)carries with it a reduced or restricted ability to travel through one’s physi ...

  7. NSScanner

    NSScanner NSScanner:该类主要实现对字符串扫描.并且该扫描必须从头到尾扫描(也可以跳到指定的地方进行扫描),开始扫描必须应用到函数,连续的数字之间可以用空格隔开,如:35 15.2 ...

  8. Gerrit 使用规范

    代码提交要求 一个Commit对应一个修改点(除非是在项目初始阶段或是升级BSP时). 不要随便修改文件的属性.Windows 修改过的文件属性会变成755,上传代码时请注意修改成文件的原属性,可以用 ...

  9. Python学习(001)--计算机基础

    操作系统发展历史 操作系统并不是与计算机硬件一起诞生的,它是在人们使用计算机的过程中,为了满足两大需求:提高资源利用率.增强计算机系统性能,伴随着计算机技术本身及其应用的日益发展,而逐步地形成和完善起 ...

  10. Locust 其他协议

    Locust 是基于HTTP作为主要目标构建的,但是他同样可以扩展其他的协议,接受请求与获得返回.在编写的客户端的时候,我们就要使用到最常使用的 request_success 和 request_f ...