JSON:(JavaScript Object Notation)是基于Javascript的一种轻量级的数据交换格式,易于读写同时也易于机器解析和生成。具体详细有关Json的信息可参考JSON官网:http://www.json.org。
Json也是一种跨平台多语音的数据交换格式,本文仅说明Windows平台下的Json使用介绍。
Json的数据文本类似于一个MAP,数据存储中key/value对中,key和value 中间用冒号间隔,key/value数据对之间以逗号分隔,同时支持类似于C语言的数组字符串格式,用花括弧{}表示对象,中括号[]表示数组。如:
“firstName”:"Zhan" //表示Key/Value
{
"Sex":"male",
"age":18,
"name":"xiaohua"
} //标书一个对象,对象有三个属性
[
{"Sex":"male"},
{“Sex”:"female"}
]//表示一个数组
JsonCpp是一个开源的JSON序列化和序列化工具,开源代码可到github中获取https://github.com/open-source-parsers/jsoncpp.git,把代码克隆到本地。
编译方法:
1、打开文件夹下\jsoncpp\makefiles\vs71的jsoncpp.sln工程,编译该工程生成使用json必须的静态lib,lib-json.lib(名称可以修改),需要注意的是,需要将jsconcpp的工程属性中的RunTime Library 修改为Multi-threaded Debug (/MTd),将生成的lib文件拷贝到你的工厂目录中去
2、Json提供了一个整合的方法不必把所有源码都包含到你的项目中,仅通过链接一个Jsoncpp的lib文件,包含两个个头文件,和一个cpp到项目中即可方便的使用JSON的功能。
编译环境要求你的PC中安装了Python,在Json的根目录下运行 python amalgamate.py,运行该脚本会在根目录中生产一个dist目录,该目录包含了使用JSON的两个头文件json.h json-forwards.h jsoncpp.cpp三个文件,将dist目录拷贝到你的工程目录环境中。
(当然你也可以将JSONCPP的源码一起加入到你的工程中,跟你的代码一起编译)
通过以上两步你就可以任性的使用JSON这种轻量级的数据传输格式传输你想要的数据了。
Json 使用实例:
JSON使用过程中最重要的几个对象时Json::Value 代码JSON的一个对象,Json::Reader JSon的序列化对象,Jso