博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JsonCpp Documentation
阅读量:2210 次
发布时间:2019-05-05

本文共 3299 字,大约阅读时间需要 10 分钟。

JsonCpp Documentation

 

0.6.0-rc2

is a lightweight data-interchange format. It can represent integer, real number, string, an ordered sequence of value, and a collection of name/value pairs.

Here is an example of JSON data:

// Configuration options{    // Default encoding for text    "encoding" : "UTF-8",        // Plug-ins loaded at start-up    "plug-ins" : [        "python",        "c++",        "ruby"        ],            // Tab indent size    "indent" : { "length" : 3, "use_space": true }}

  • read and write JSON document
  • attach C and C++ style comments to element during parsing
  • rewrite JSON document preserving original comments

Notes: Comments used to be supported in JSON but where removed for portability (C like comments are not supported in Python). Since comments are useful in configuration/input file, this feature was preserved.

root;   // will contains the root value after parsing. reader;bool parsingSuccessful = reader.( config_doc, root );if ( !parsingSuccessful ){    // report to the user the failure and their locations in the document.    std::cout  << "Failed to parse configuration\n"               << reader.();    return;}// Get the value of the member of root named 'encoding', return 'UTF-8' if there is no// such member.std::string encoding = root.("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  plugins = root["plug-ins"];for ( int index = 0; index < plugins.(); ++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"] = getCurrentEncoding();root["indent"]["length"] = getCurrentIndentLength();root["indent"]["use_space"] = getCurrentIndentUseSpace(); writer;// Make a new JSON document for the configuration. Preserve original comments.std::string outputConfig = writer.( 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"];// And you can write to a stream, using the StyledWriter automatically.std::cout << root;

The build instructions are located in the file in the top-directory of the project.

Permanent link to the latest revision of the file in subversion:

The sources can be downloaded from .

The latest version of the source is available in the project's subversion repository:

To checkout the source, see the following .

The description of latest changes can be found in in the top-directory of the project.

Permanent link to the latest revision of the file in subversion:

  • Specification and alternate language implementations.
  • A data format designed for human readability.
  • .

See file in the top-directory of the project.

Basically JsonCpp is licensed under MIT license, or public domain if desired and recognized in your jurisdiction.

 

Author:
Baptiste Lepilleur < >
posted on
2013-06-21 10:44  阅读(
...) 评论(
...) 收藏

转载于:https://www.cnblogs.com/lexus/p/3147795.html

你可能感兴趣的文章
阿里云《云原生》公开课笔记 第二章 容器基本概念
查看>>
阿里云《云原生》公开课笔记 第三章 kubernetes核心概念
查看>>
阿里云《云原生》公开课笔记 第四章 理解Pod和容器设计模式
查看>>
阿里云《云原生》公开课笔记 第五章 应用编排与管理
查看>>
阿里云《云原生》公开课笔记 第六章 应用编排与管理:Deployment
查看>>
阿里云《云原生》公开课笔记 第七章 应用编排与管理:Job和DaemonSet
查看>>
阿里云《云原生》公开课笔记 第八章 应用配置管理
查看>>
阿里云《云原生》公开课笔记 第九章 应用存储和持久化数据卷:核心知识
查看>>
linux系统 阿里云源
查看>>
国内外helm源记录
查看>>
牛客网题目1:最大数
查看>>
散落人间知识点记录one
查看>>
Leetcode C++ 随手刷 547.朋友圈
查看>>
手抄笔记:深入理解linux内核-1
查看>>
内存堆与栈
查看>>
Leetcode C++《每日一题》20200621 124.二叉树的最大路径和
查看>>
Leetcode C++《每日一题》20200622 面试题 16.18. 模式匹配
查看>>
Leetcode C++《每日一题》20200625 139. 单词拆分
查看>>
Leetcode C++《每日一题》20200626 338. 比特位计数
查看>>
Leetcode C++ 《拓扑排序-1》20200626 207.课程表
查看>>