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. redis 五大数据类型之string篇

    一: 1:string(字符串) string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value. string类型是二进制安全的.意思是redis ...

  2. Python 字典的嵌套

    wf = { "name":"汪峰", "age":52, "hobby":["唱歌", " ...

  3. Xcode C++ and Objective-C refactoring

    Is there a way to refactor mixed C++/Objective-C code in Xcode ?? I am writing a game using Cocos2D ...

  4. struts2读取request,session,application中的值

    request.----> <s:property value="#request.mySessionPropKey"/> or <s:property v ...

  5. PyTorch 数据集类 和 数据加载类 的一些尝试

    最近在学习PyTorch,  但是对里面的数据类和数据加载类比较迷糊,可能是封装的太好大部分情况下是不需要有什么自己的操作的,不过偶然遇到一些自己导入的数据时就会遇到一些问题,因此自己对此做了一些小实 ...

  6. php中弱语言类型的底层实现

    PHP是弱语言类型,主要分为三类: 1.标量类型:integer.string.float.boolean 2.复合类型:array.object 3.特殊类型:resource.null php是通 ...

  7. stm32内部温度计算方法

    计算公式:Temperature  = {(V25 - VSENSE) / Avg_Slope} + 25 V25              最小=1.34V     典型=1.43V   最大=1. ...

  8. git设置ss代理

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

  9. zookeeper 入门指导

      zookeeper数据模型 zookeeper有一个层级命名空间,和一个分布式文件系统非常相似 .唯一的不同是每个节点可以有关联的数据,子节点也是.就像有一个文件系统,并且允许文件可以是一个目录. ...

  10. poj-1015(状态转移的方向(01背包)和结果的输出)

    #include <iostream> #include <algorithm> #include <cstring> #include <vector> ...