#include <iostream>
#include <fstream>
#define JSON_IS_AMALGAMATION
#include "json/json.h"
using std::cout;
using std::endl;

int main(int argc, char** argv) {
Json::Value root;
Json::Reader reader;
std::ifstream config("dev.json", std::ifstream::binary);
if (!reader.parse(config, root, false)) {
cout << "Could not parse json" << endl;
return 1;
}
std::string str = root["redis"].get("host", "localhost").asString();
const char* cstr = root["redis"].get("host", "localhost").asCString();
cout << "1:" << str << endl;
cout << "2:" << cstr << endl;
cout << "3:" << std::string(root["redis"].get("host", "localhost").asCString()) << endl;
config.close();
return 0;
}

void CSettingDlg::SaveConfigure(int model,CString SynchroPath)
{
Json::Value root;
Json::StyledWriter sw;

int nLen=SynchroPath.GetLength();
char *pszTempMult=new char[nLen+1];

WideCharToMultiByte( CP_ACP,0,SynchroPath.GetBuffer(nLen),nLen+1, pszTempMult,nLen+1,NULL,NULL );

//根节点属性
root[ "model" ] = Json::Value( model );
root[ "SynchroPath" ] = Json::Value(pszTempMult);

std::ofstream os;
os.open("ConfigurePath.json",std::ios_base::binary);
if(!os)
{
return ;
}
os<<sw.write(root);
os.close();
delete [] pszTempMult;
}
void CSettingDlg::GetConfigure( int &model,CString &SynchroPath)
{
Json::Reader reader;
Json::Value root;
//从文件中读取
std::ifstream is;
is.open( "ConfigurePath.json" , std::ios_base::binary);
if(!is)
{
return ;
}
if (reader.parse(is,root))
{
model=root["model"].asInt();
SynchroPath=root["SynchroPath"].asString().c_str();
}
is.close();
}

JSON运用在文件的更多相关文章

  1. Web API删除JSON格式的文件记录

    Insus.NET的系列Web Api学习文章,这篇算是计划中最后一篇了,删除JSON格式的文件记录.前一篇<Web Api其中的PUT功能演示>http://www.cnblogs.co ...

  2. spring mvc 避免IE执行AJAX时,返回JSON出现下载文件

    <!-- 避免IE执行AJAX时,返回JSON出现下载文件 --> <bean id="mappingJacksonHttpMessageConverter" c ...

  3. SpringMVC 避免IE执行AJAX时,返回JSON出现下载文件

    <?xml version="1.0" encoding="UTF-8"?> <!-- SpringMVC配置文件 --> <be ...

  4. 配置iis支持.json格式的文件

    配置iis支持.json格式的文件发现要让IIS支持json文件并不是单纯的添加mime这么简单啊,以下是设置方法:一.IIS 6 1. MIME设置:在IIS的站点属性的HTTP头设置里,选MIME ...

  5. 文件打包代码更新 使用json记录打包文件信息

    经过之前的几次试验 决定使用json记录打包文件信息 #include "Package.h" #include "json/json.h" #include ...

  6. 问题:iis配置json;结果:如何配置iis支持.json格式的文件

    如何配置iis支持.json格式的文件 | 浏览:1357 | 更新:2015-04-05 11:00 | 标签:软件 1 2 3 4 5 6 7 分步阅读 现在大家在制作HTM5的一些小场景,小游戏 ...

  7. Python中如何将数据存储为json格式的文件

    一.基于json模块的存储.读取数据 names_writer.py import json names = ['joker','joe','nacy','timi'] filename='names ...

  8. 【python】将json串写入文件,并以json格式读取出来

    写json--json.dumps 代码: import json #要写入文件的json串(dict格式) result ={', 'https://appapi.xxxx.com/appapi/b ...

  9. IS加载JSON 和 MP4文件 错误 404 提示 需要添加mime映射(默认IIS Express里没有映射)

    问题描述 在发布项目的时候,有一些文件是json文件,在网页中进行加载,但是在IIS7发布的时候,json文件居然是404,无法找到,在URL上输入地址也一样. 错误原因 IIS内部机制,不支持直接访 ...

  10. jquery Ajax获取本地json 以及xml文件

    $(function() { $("#Button1").click(function() { //按钮单击事件 //打开文件,并通过回调函数处理获取的数据 $.get(" ...

随机推荐

  1. Flask 编写一个授权登录验证的模块(二)

    本篇比上一篇多了重定向的功能 #!/usr/bin/env python # -*- coding: utf-8 -*- #python3 import base64 import random im ...

  2. Promise初尝试

    promise.ts export function showAlert() { console.log("开始调用showAlert"); return new Promise( ...

  3. mysql用户与授权

    视图 create view 视图名   as  查询语句: MariaDB [hellodb]> create view view_left as select name from stude ...

  4. vi启动时报错:YouCompleteMe unavailable: requires Vim 7.4.1578+如何处理?

    答:源码编译安装最新的vim 以redhat为例: 1. 移除旧的vi,vim sudo yum remove vi vim -y 2. 安装ncurses库 sudo yum install ncu ...

  5. SQL语句中有关单引号、双引号和加号的问题

    字符串数据是用单引号包在外面的,而+号只是用来连接这些字符串的. 数据库里的字段是整型的时候不要加单引号,是字符串的时候要加,其它类型根据实际情况来,双引号就是用来拼接字符串的,单引号是sql文的固有 ...

  6. 一文搞定HashMap的实现原理和面试

    原文  https://juejin.im/post/5d09f2d56fb9a07ec7551fb0 HashMap在日常开发中基本是天天见的,而且都知道什么时候需要用HashMap,根据Key存取 ...

  7. 关于adb命令获取安卓手机uuid时,demon 显示启动成功,但又获取不到uuid的解决办法:现象如下所示

    * daemon not running. starting it now on port 5037 * *demon started successfully* *list of devices a ...

  8. JavaScript:undefined!=false之解 及==比较的规则

    JS中有一个基本概念就是: JavaScript中undefined==null 但undefined!==null undefined与null转换成布尔值都是false 如果按照常规想法,比如下面 ...

  9. SSD总结

    SSD: Single Shot MultiBox Detector 1. Introduction 改进点: 以前的方法都是先搞bounding box,再对box里面做分类.特点:精度高,速度慢. ...

  10. iOS开发之—— 加密使用(MD5,base64,DES,AES)

    基本的单向加密算法: BASE64 严格地说,属于编码格式,而非加密算法 MD5(Message Digest algorithm 5,信息摘要算法)SHA(Secure Hash Algorithm ...