#include <iostream>
#include "Poco/Dynamic/Var.h"
#include "Poco/Dynamic/Pair.h"
#include "Poco/Dynamic/VarIterator.h"
#include "Poco/JSON/Array.h"
#include <vector>
#include <map>
#include "Poco/JSON/Parser.h" using Poco::Dynamic::Var;
using Poco::JSON::Parser;
using Poco::Dynamic::Pair;
using Poco::JSON::Array;
using Poco::JSON::Object; int main(int argc, const char * argv[]) {
using namespace std;
Poco::JSON::Object scores;
scores.set("数学", );
scores.set("英语", );
scores.set("语文", );
scores.set("化学", );
scores.set("物理", );
scores.set("生物", );
Poco::JSON::Object student;
student.set("name", "小南");
student.set("address", "四川省成都市锦江区锦华路一段7号爱家丽苑1栋1单元305室");
student.set("class", "四川省成都市第七中学2010级2班");
student.set("grade", Poco::Dynamic::Var(scores));
Poco::Dynamic::Var JSON(student);
cout << JSON.toString() << endl;
string theJSON = JSON.toString();
Poco::JSON::Parser parser;
Poco::Dynamic::Var json = parser.parse(theJSON);
Poco::JSON::Object theObj = *json.extract<Poco::JSON::Object::Ptr>();
Poco::Dynamic::Var theScores = theObj.get("grade");
Poco::Dynamic::Var name = theObj.get("name");
Poco::Dynamic::Var address = theObj.get("address");
Poco::Dynamic::Var theClass = theObj.get("class");
Poco::JSON::Object grade = *theScores.extract<Poco::JSON::Object::Ptr>();
Poco::Dynamic::Var math = grade.get("数学");
Poco::Dynamic::Var english = grade.get("英语");
Poco::Dynamic::Var chinese = grade.get("语文");
Poco::Dynamic::Var wuli = grade.get("物理");
Poco::Dynamic::Var shengwu = grade.get("生物");
Poco::Dynamic::Var huaxue = grade.get("化学");
cout << "\n\n姓名: " << name.toString() << endl
<< "班级: " << theClass.toString() << endl
<< "地址: " << address.toString() << endl
<< "数学: " << math.convert<int>() << endl
<< "语文: " << chinese.convert<int>() << endl
<< "化学: " << huaxue.convert<int>() << endl
<< "物理: " << wuli.convert<int>() << endl
<< "生物: " << shengwu.convert<int>() << endl;
return ;
} 输出结果:
{
"address" : "四川省成都市锦江区锦华路一段7号爱家丽苑1栋1单元305室",
"class" : "四川省成都市第七中学2010级2班",
"grade" : {
"化学" : ,
"数学" : ,
"物理" : ,
"生物" : ,
"英语" : ,
"语文" :
},
"name" : "小南"
} 姓名: 小南
班级: 四川省宣汉中学2010级2班
地址: 四川省成都市锦江区锦华路一段7号爱家丽苑1栋1单元305室
数学:
语文:
化学:
物理:
生物:

Poco C++——JSON解析的更多相关文章

  1. Android okHttp网络请求之Json解析

    前言: 前面两篇文章介绍了基于okHttp的post.get请求,以及文件的上传下载,今天主要介绍一下如何和Json解析一起使用?如何才能提高开发效率? okHttp相关文章地址: Android o ...

  2. Json解析工具的选择

    前言 前段时间@寒江不钓同学针对国内Top500和Google Play Top200 Android应用做了全面的分析(具体分析报告见文末的参考资料),其中有涉及到对主流应用使用json框架Gson ...

  3. iOS json 解析遇到error: Error Domain=NSCocoaErrorDomain Code=3840 "The operation couldn’t be completed.

    Error Domain=NSCocoaErrorDomain Code=3840 "The operation couldn’t be completed. (Cocoa error 38 ...

  4. Android之JSON解析

    做个Android网络编程的同学一定对于JSON解析一点都不陌生,因为现在我们通过手机向服务器请求资源,服务器给我们返回的数据资源一般都是以JSON格式返回,当然还有一些通过XML格式返回,相对JSO ...

  5. Android总结之json解析(FastJson Gson 对比)

    前言: 最近为了统一项目中使用的框架,发现项目中用到了两种json解析框架,他们就是当今非常主流的json解析框架:google的Gson 和阿里巴巴的FastJson,为了废除其中一个所以来个性能和 ...

  6. JSON解析和XML解析对比

    JSON解析和XML解析是较为普遍的两种解析方式,其中JSON解析的市场分额更大.本文系统的分析两种解析方式的区别,为更好地处理数据作准备.由于目前阶段主要是做移动开发,所以本文所描述的JSON解析和 ...

  7. iOS json解析的几种方法 NSJSONSerialization,JSONKit,SBJson ,TouchJson

    相关的第三方类库大家可以去github上下载 1.NSJSONSerialization 具体代码如下 : - (void)viewDidLoad { [super viewDidLoad]; NSD ...

  8. Json解析工具Jackson(使用注解)

    原文http://blog.csdn.net/nomousewch/article/details/8955796 接上一篇文章Json解析工具Jackson(简单应用),jackson在实际应用中给 ...

  9. Json解析工具Jackson(简单应用)

    原文http://blog.csdn.net/nomousewch/article/details/8955796 概述 Jackson库(http://jackson.codehaus.org),是 ...

随机推荐

  1. 查询SQL 对象及存储过程

    select * from database..sysobjects order by name EXEC Sp_HelpText 'Proc_Export268';

  2. Counting Rectangles

    Counting Rectangles Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 1043 Accepted: 546 De ...

  3. 【计算机网络】当输入URL后发生了什么

    我们使用一个非常简单的模型,并假设它是最简单的HTTP请求,不使用代理并且使用的是IPv4 1. 浏览器首先判断使用的是什么协议(ftp/http),然后对URL进行安全检查.最后浏览器查看缓存,如果 ...

  4. Socket状态变迁图

    在一些防火墙或端口管理工具中经常会看到连接状态为CLOSED CLOSE_WITE LAST_ACK等的进程, 虽然状态就那么很少的几个, 而且看字面意思也能猜个大概, 但没做过Socket编程的朋友 ...

  5. uva 816 Abbott的复仇

    题目链接:https://uva.onlinejudge.org/external/8/816.pdf 紫书:P165 题意: 有一个最多包含9*9个交叉点的迷宫.输入起点.离开起点时的朝向和终点,求 ...

  6. uva 437,巴比伦塔

    题目链接:https://uva.onlinejudge.org/external/4/437.pdf 题意:巴比伦塔: 给出n种立方体,一个立方体能放到另一个立方体上,必须满足,底面一定要小于下面的 ...

  7. Apache Common-pool2对象池分析和应用

    Apache Common-pool2包提供了一个通用的对象池技术的实现.可以很方便的基于它来实现自己的对象池,比如DBCP和Jedis他们的内部对象池的实现就是依赖于Common-pool2. 对象 ...

  8. css公共样式,初始化

    /* CSS Document */ body, button, select, textarea, input, label, option, fieldset, legend{font-famil ...

  9. DateFormat 中间加别的字符

    private static DateFormat dateTime = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");

  10. ListableBeanFactory

    ListableBeanFactory public interface ListableBeanFactory extends BeanFactory 该接口中定义了可以获取配置中所有bean的信息 ...