文档章节

读取配置(初稿)

菅超鹏
 菅超鹏
发布于 2014/06/16 23:15
字数 177
阅读 13
收藏 0
点赞 0
评论 0
#include <iostream>
#include <fstream>
#include <vector>
#include <string>
#include "json/json.h"

using namespace std;

struct SStudent
{
    int id;        //编号
    string name;    //姓名
    int age;    //年龄
    string address; //地址
};
typedef vector<SStudent> SeqSStudent; 

/*
void fromJs( SStudent& stu, std::string js )
{
    Json::Value json;
    Json::Reader reader;
    reader.parse( js.c_str(), json );
    
    stu.id = json["id"].asInt();
    stu.name = json["name"].asString();
    stu.age  = json["age"].asInt();
    stu.address = json["address"].asString();    
} 
*/

void fromJs( SStudent& stu, Json::Value jv)
{
    stu.id = jv["id"].asInt();
    stu.name = jv["name"].asString();
    stu.age = jv["age"].asInt();
    stu.address = jv["address"].asString();

}

void loadFile(const std::string& file, SeqSStudent& seq)
{
    Json::Value json;
    Json::Reader reader;

    ifstream ifs ( file.c_str() );
    reader.parse( ifs, json );
    SStudent stu;
    for( Json::Value::UInt i = 0; i < json.size(); ++ i )
    {
        fromJs( stu, json[i] );
        seq.push_back( stu );    
    }
}


int main(int argc, char* argv[])
{
    SeqSStudent seqStu;
    loadFile("student.json", seqStu);    
    
    cout << "begin print" << endl;
    
    for(SeqSStudent::const_iterator cit = seqStu.begin(); cit != seqStu.end(); ++cit)
    {
        cout << "id:" << cit->id << "\tname: " << cit->name << "\tage: " << cit->age << "\tAddress: " << cit->address << endl;;
    }
    
    cout << "end print" << endl;

    return 0;
}


© 著作权归作者所有

共有 人打赏支持
菅超鹏
粉丝 0
博文 10
码字总数 2856
作品 0
广州
程序员
公司抽奖的简单代码

初稿逻辑: 主持人宣布开始抽取三等奖(从三等奖,到二等奖,一等奖), 开始进行抽奖转盘,转盘停在了某个人上(系统读取到了已经抽到奖的员工) 抽取到的人拿奖之前,需要回答从题库里抽到...

熊猫88 ⋅ 2016/01/26 ⋅ 2

DICOM学习参考

http://dicom.offis.de/dcmtk.php.en http://blog.csdn.net/ningyaliuhebei/article/details/23919401 DICOM:DICOM标准学习路线图(初稿) http://blog.csdn.net/zssureqh/article/details/......

qt_plus ⋅ 2016/11/08 ⋅ 0

NTP配置实践

前言 NTP(Network Time Protocol,网络时间协议)是用来使网络中的各个计算机时间同步的一种协议。不管是平时使用的私人计算机还是在工作中搭建的服务器集群。时间的统一性和准确性是十分重...

技术mix呢 ⋅ 2017/10/19 ⋅ 0

Bottle-0.13 文档中文翻译

Bottle-0.13 文档中文翻译,来自官方github,在之基础上加以补充完善。 內容目录 教程 安装 开始: “Hello World” URL映射 生成内容 请求数据 (Request Data) 模板 插件 开发 部署 词汇表 ...

lalamina ⋅ 2016/05/29 ⋅ 0

python写一个通讯录之step by step

编写过程: 第一步:手动代码堆积 第二步:函数复用 第三步:数据持久化之数据保存 第四步:数据持久化之数据读取 第五步:数据持久化之数据删除 第六步:数据持久化之数据更新 初稿—》数据...

lovelace521 ⋅ 2015/03/23 ⋅ 0

bug规范初稿

一、背景 bug是开发和测试质量的重要指标,从bug数量、严重性等可以看出RD的开发质量,从发现问题的阶段可以看出QA的测试意识和测试质量,从问题分类、问题来源等可以看出产品开发、测试质量...

AwesomeQA ⋅ 2016/08/12 ⋅ 0

Java 后台 需要同时支持PC Android Web....

我的初稿,相关业务模块还没有细化,大概架构是这样的,第一次,做这种东西,所有不懂得很多,一个人最大的问题,就是害怕暴露问题,所有希望大家畅所欲言,一起参详参详。被喷我也无所谓,只...

水门-kay ⋅ 2015/12/09 ⋅ 13

大型企业门户网站设计要点

小弟近期任务:某集团公司(年产值百亿以上)门户网站设计,设计初稿已经出来了,但是还没给客户看,不想一拿过去就被客户否决,所以向各位大仙请教。 OSC上有哪些大仙是有大型企业集团门户网...

湘中朱生 ⋅ 2012/07/04 ⋅ 6

2014年四件大事之二商贷面签了

感谢!!! 商业贷款顺利面签,虽然上浮2%,但是也是可以的。公积金批了92w,不错!一切都比预期的好很多! 下个月应该就是公积金面签了,一切顺利。现在工作重心是帮老婆找工作,目前简历初...

Kerry_Han ⋅ 2014/08/27 ⋅ 0

局域网安全介绍

尝试总结自己工作过程中使用过的一些局域网安全技术,暂时没有涉及到域管理。这是初稿,太长了就不一篇篇单独贴了。我会在以后不断修改完善的。希望能够收到更多意见和建议。pdf图片和文档就...

gole_huang ⋅ 2013/03/11 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Linux kernel脉络和主干总结

写在前面 前人常说,对Linux操作系统/内核的理解,是计算机行业从业者的内功,决定了你在技术领域想走多远。但内核的庞大以及学习曲线之陡峭,总让我在学习途中觉得犹如“管中窥豹”。 随着工...

Markz0928 ⋅ 26分钟前 ⋅ 0

在gcc中使用intel风格的内联汇编

很简单,内联汇编使用asm(“.intel_syntax noprefix/n”)声明一下,以后的内联汇编就可以用intel风格了,构建可执行文件时给gcc加上-masm=intel参数。 先写一个小程序测试一下: [cpp] view...

simpower ⋅ 36分钟前 ⋅ 0

NIO 之 ByteBuffer实现原理

相关文章 BIO、NIO、AIO 内部原理分析 NIO 之 Selector实现原理 NIO 之 Channel实现原理 前言 Java NIO 主要由下面3部分组成: Buffer Channel Selector 在传统IO中,流是基于字节的方式进行...

轨迹_ ⋅ 46分钟前 ⋅ 0

Jenkins docker权限问题

环境Ubuntu Server 工具 jenkins-war:2.89.2 报错信息 Cannot connect to the Docker daemon. Is the docker daemon running on this host?Build step 'Execute shell' marked build as fai......

Pulsar-V ⋅ 46分钟前 ⋅ 0

180621-一个简单的时间窗口设计与实现

如何设计一个计数的时间窗口 时间窗口,通常对于一些实时信息展示中用得比较多,比如维持一个五分钟的交易明细时间窗口,就需要记录当前时间,到五分钟之前的所有交易明细,而五分钟之前的数...

小灰灰Blog ⋅ 今天 ⋅ 0

Android之Dalvik、ART、JIT、AOT

Android之Dalvik、ART、JIT、AOT 本文内容:Dalvik、ART、JIT、AOT之间关系 本文定位:知识记录 学习过程记录,加深理解,提升文字组合表达能力。也希望能给学习的同学一些灵感 本文整理于[...

lichuangnk ⋅ 今天 ⋅ 0

Thrift RPC实战(五) thrift连接池

Thrift本身没有提供连接池,我们可以用Apache Commons Pool2来实现一个 一、定义对象工厂 BasePooledObjectFactory<T> extends BaseObject implements PooledObjectFactory<T> public class......

lemonLove ⋅ 今天 ⋅ 0

git 命令简写

简写 命令 g git gst git status gd git diff gdc git diff --cached gdv git diff -w "$@" | view - gl git pull gup git pull --rebase gp git push gc git commit -v gc! git commit -v ......

charley158 ⋅ 今天 ⋅ 0

Java中的锁使用与实现

1.Lock接口 锁是用来控制多个线程访问共享资源的方式,一般来说,一个锁能够防止多个线程同时访问共享资源。 在Lock出现之前,java程序是靠synchronized关键字实现锁功能的,而Java SE5之后,...

ZH-JSON ⋅ 今天 ⋅ 0

Intellij IDEA神器常用技巧四-类和方法注释模板设置

IDEA自带的注释模板不是太好用,我本人到网上搜集了很多资料系统的整理了一下制作了一份比较完整的模板来分享给大家,我不是专业玩博客的,写这篇文章只是为了让大家省事。 这里设置的注释模...

Mkeeper ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部