jsoncpp vc2005 编译测试

新建一个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" : "日"
}

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值