加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

jsoncpp vc2005 编译测试

发布时间:2020-12-16 19:30:51 所属栏目:百科 来源:网络整理
导读:新建一个vc8 win32 控制台程序 使用多字节字符 包含jsoncpp_src_0_5_0/src/lib_json 下的所有代码到工程中 引用jsoncpp_src_0_5_0/include/json/json.h 编写如下代码: // test_jsoncpp_vc8.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #inc

新建一个vc8 win32 控制台程序

使用多字节字符

包含jsoncpp_src_0_5_0/src/lib_json 下的所有代码到工程中

引用jsoncpp_src_0_5_0/include/json/json.h

编写如下代码:

// test_jsoncpp_vc8.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include <iostream>

#include "../../include/json/json.h"
int _tmain(int argc,_TCHAR* argv[])
{
std::string doc;
doc = "{ /"encoding/" : /"UTF-8/" }";

Json::Value root; // will contains the root value after parsing.
Json::Reader reader;
bool parsingSuccessful = reader.parse( doc,root );
if ( !parsingSuccessful )
{
// report to the user the failure and their locations in the document.
std::cout << "Failed to parse configuration/n"
<< reader.getFormatedErrorMessages();
return 0;
}

// Get the value of the member of root named 'encoding',return 'UTF-8' if there is no
// such member.
std::string encoding;
encoding = root.get("encoding","UTF-8" ).asString();

// Get the value of the member of root named 'encoding',return a 'null' value if
// there is no such member.
/*
const Json::Value plugins = root["plug-ins"];
for ( int index = 0; index < plugins.size(); ++index ) // Iterates over the sequence elements.
loadPlugIn( plugins[index].asString() );

setIndentLength( root["indent"].get("length",3).asInt() );
setIndentUseSpace( root["indent"].get("use_space",true).asBool() );
*/
// ...
// At application shutdown to make the new configuration document:
// Since Json::Value has implicit constructor for all value types,it is not
// necessary to explicitly construct the Json::Value object:
root["encoding"] = "GB2312";
root["indent"]["length"] = 2;
root["indent"]["use_space"] = 5;

Json::StyledWriter writer;
// Make a new JSON document for the configuration. Preserve original comments.
std::string outputConfig = writer.write( root );

// You can also use streams. This will put the contents of any JSON
// stream at a particular sub-value,if you'd like.
//std::cin >> root["subtree"];
root["subtree"] = "日";

// And you can write to a stream,using the StyledWriter automatically.
std::cout << root;
getchar();


return 0;
}

运行结果:

{ "encoding" : "GB2312","indent" : { "length" : 2,"use_space" : 5 },"subtree" : "日"}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读