C++ 怎么遍历json 对象

stone1234stone 2013-07-25 11:32:49
json 对象如下:


{"data":
{
"35":
{
"family_name":"...",
"tels":[{"value":"13s2222","type":"other","pref":true}],
"given_name":"...",
"customs":[{"value":"com.android.contacts.default","type":"accountType"}, {"value":"default","type":"accountName"}],
"middle_name":"..."
},
"36":
{
"family_name":"...",
"tels":[{"value":"15022222","type":"other","pref":true}],
"given_name":"...",
"customs":[{"value":"com.android.contacts.default","type":"accountType"},{"value":"default","type":"accountName"}],
"middle_name":"..."
}
}
}




我是用第三方开源的jsoncpp 中Reader 和 Value 的类来解析的。主要想提取tels中的value的值和middle_name的值。


Reader reader;

Value root;

Value value;

reader.parse_range(buf.data(), buf.data()+buf.size(), root, '"');
int data_size = root["data"].size();
for(int i=0; i<data_size; ++i)
{
TString tels = root["data"][i]??
}

第一个问题 : 怎么得到json对象的个数? 这样写 int data_size = root["data"].size();貌似不对,我调试时发现data_size的值是0

第二个问题: 在for循环里怎么解析来得到想要的值。
...全文
3591 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
缘中人 2015-11-04
  • 打赏
  • 举报
回复
http://www.cnblogs.com/cb168/p/3988907.html
qq_32544505 2015-11-04
  • 打赏
  • 举报
回复
引用 7 楼 ccrun 的回复:
[quote=引用 5 楼 u011504737 的回复:] jaj_20130314@126.com
我来了,上午有事出去了。请查收邮件。[/quote] 350343934@qq.com 请给我也发一份遍历json的代码,或者加QQ聊,谢谢
Javpp 2015-11-04
  • 打赏
  • 举报
回复
我去,這是挖墳啊,13年的帖子。。
chinayu2007 2014-09-08
  • 打赏
  • 举报
回复
妖哥怎么解决的?用到了json的引擎库吗?
j911 2014-09-08
  • 打赏
  • 举报
回复
妖怪哥还在用bcb6.0
Richardw 2014-09-01
  • 打赏
  • 举报
回复
ccrun.com 2014-09-01
  • 打赏
  • 举报
回复
时间过去一年多,这个帖子算是完了,楼主估计连CSDN的用户名和密码都忘光了。
古典概型 2014-04-19
  • 打赏
  • 举报
回复
引用 2 楼 ccrun 的回复:
针对楼主这个Json数据的解析已搞定,留个信箱,我发源码工程给你。顺便贴个图先:
妖哥求码
顺7自然 2014-03-27
  • 打赏
  • 举报
回复
引用 7 楼 ccrun 的回复:
[quote=引用 5 楼 u011504737 的回复:] jaj_20130314@126.com
我来了,上午有事出去了。请查收邮件。[/quote] 妖哥给我也发一个BCB6de吧,linxi_98@126.com
顺7自然 2014-03-27
  • 打赏
  • 举报
回复
妖哥给我也发一个吧,linxi_98@126.com
uhian 2014-03-04
  • 打赏
  • 举报
回复
引用 13 楼 ccrun 的回复:
如果楼主的问题解决了,什么时候能结一下帖?
妖哥给我也发一个吧,uhian#qq.com
ccrun.com 2014-02-24
  • 打赏
  • 举报
回复
如果楼主的问题解决了,什么时候能结一下帖?
记忆悔中行_ 2014-02-22
  • 打赏
  • 举报
回复
引用 2 楼 ccrun 的回复:
针对楼主这个Json数据的解析已搞定,留个信箱,我发源码工程给你。顺便贴个图先:
妖哥我也需要。能发一份给我不? 1311976206@qq.com
chinayu2007 2013-08-02
  • 打赏
  • 举报
回复
妖哥能给我发一份吗?bcb6的 我的邮箱:709326052@qq.com
ccrun.com 2013-07-26
  • 打赏
  • 举报
回复
引用 9 楼 hyz_cs 的回复:
我也要遍历的....
已发,去查收。注意看邮件内容。
hyz_cs 2013-07-26
  • 打赏
  • 举报
回复
我也要遍历的....
stone1234stone 2013-07-26
  • 打赏
  • 举报
回复
引用 7 楼 ccrun 的回复:
[quote=引用 5 楼 u011504737 的回复:] jaj_20130314@126.com
我来了,上午有事出去了。请查收邮件。[/quote] 多谢
ccrun.com 2013-07-26
  • 打赏
  • 举报
回复
引用 5 楼 u011504737 的回复:
jaj_20130314@126.com
我来了,上午有事出去了。请查收邮件。
stone1234stone 2013-07-26
  • 打赏
  • 举报
回复
引用 3 楼 wirner 的回复:
妖哥,共享!
jaj_20130314@126.com
stone1234stone 2013-07-26
  • 打赏
  • 举报
回复
jaj_20130314@126.com
加载更多回复(4)
详细目录 1. 序 2. Qt 简介 3. Hello, world! 4. 信号槽 5. 自定义信号槽 6. Qt 模块简介 7. MainWindow 简介 8. 添加动作 9. 资源文件 10. 对象模型 11. 布局管理器 12. 菜单栏、工具栏和状态栏 13. 对话框简介 14. 对话框数据传递 15. 标准对话框 QMessageBox 16. 深入 Qt5 信号槽新语法 17. 文件对话框 18. 事件 19. 事件的接受与忽略 20. event() 21. 事件过滤器 22. 事件总结 23. 自定义事件 24. Qt 绘制系统简介 25. 画刷和画笔 26. 反走样 27. 渐变 28. 坐标系统 29. 绘制设备 30. Graphics View Framework 31. 贪吃蛇游戏(1) 32. 贪吃蛇游戏(2) 33. 贪吃蛇游戏(3) 34. 贪吃蛇游戏(4) 35. 文件 36. 二进制文件读写 37. 文本文件读写 38. 存储容器 39. 遍历容器 40. 隐式数据共享 41. model/view 架构 42. QListWidget、QTreeWidget 和 QTableWidget 43. QStringListModel 44. QFileSystemModel 45. 模型 46. 视图和委托 47. 视图选择 48. QSortFilterProxyModel 49. 自定义只读模型 50. 自定义可编辑模型 51. 布尔表达式树模型 52. 使用拖放 53. 自定义拖放数据 54. 剪贴板 55. 数据库操作 56. 使用模型操作数据库 57. 可视化显示数据库数据 58. 编辑数据库外键 59. 使用流处理 XML 60. 使用 DOM 处理 XML 61. 使用 SAX 处理 XML 62. 保存 XML 63. 使用 QJson 处理 JSON 64. 使用 QJsonDocument 处理 JSON 65. 访问网络(1) 66. 访问网络(2) 67. 访问网络(3) 68. 访问网络(4) 69. 进程 70. 进程间通信 71. 线程简介 72. 线程和事件循环 73. Qt 线程相关类 74. 线程和 QObject 75. 线程总结 76. QML 和 QtQuick 2 77. QML 语法 78. QML 基本元素 79. QML 组件 80. 定位器 81. 元素布局 82. 输入元素 其他文章 宏定义中的 do {…} while (0) C++:在堆上创建对象,还是在栈上?

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧