Jsoncpp 学习笔记

相关信息

源码网址 github :

https://github.com/open-source-parsers/jsoncpp

Git remote

https://github.com/open-source-parsers/jsoncpp.git

优质学习博客

http://www.cnblogs.com/kex1n/archive/2011/12/02/2272328.html

学习笔记

基本设计

Jsoncpp基本设计

数据类 Value

Value 是一个通用的的数据类,一个Json文件的所有数据可以用一棵Value树来表示。
Value 支持以下类型:

enum ValueType {
nullValue = 0, ///< ‘null’ value
intValue, ///< signed integer value
uintValue, ///< unsigned integer value
realValue, ///< double value
stringValue, ///< UTF-8 string value
booleanValue, ///< bool value
arrayValue, ///< array value (ordered list)
objectValue ///< object value (collection of name/value pairs).
}

  • 任何一个Value某一个时刻只能是其中的一种类型 。可以使用isXXX() 测试之。
  • 实现方式是传统的union ,内嵌map容器
  • 支持迭代器访问。
  • 支持[] 运算符 , 支持 get 接口。
Reader
  • Reader 负责将Json文本加载进入Value。
  • 可以通过Feature类来设置Reader属性。
  • CharReaderBuilder产生的 CharReader可以将符合Json格式字符流加载进入Value。
Writer

和Reader不同 ,Writer是个纯虚类, write 接口返回Json格式的字符串, 用户自行写文件或者输出。

  • FastWriter 返回字符串
  • StreamWriter 写字符流
  • StyledXXX
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值