安装包
- 下载https://sourceforge.net/projects/jsoncpp/
- 下载https://sourceforge.net/projects/scons/
安装步骤
- 创建一个目录
mkdir /usr/json
- 上传下载的安装包 jsoncpp-src-0.5.0.tar.gz 以及 scons-2.1.0.tar.gz
- 解压scons-2.1.0.tar.gz
tar -zvxf scons-2.1.0.tar.gz
- 进入scons-2.1.0目录 终端输入命令:
python setup.py install
- 解压 jsoncpp-src-0.5.0.tar.gz
tar -zvxf jsoncpp-src-0.5.0.tar.gz
- 进入解压的
jsoncpp-src-0.5.0
文件夹中,终端输入命令:scons platform=linux-gcc
- 将 /jsoncpp-src-0.5.0/include 目录下的json文件夹拷贝到/usr/include
cp -r /usr/json/jsoncpp-src-0.5.0/include/json/ /usr/include/
- .将 /jsoncpp-src-0.5.0/libs/linux-gcc-5.3.1 目录下的libjson_linux-gcc-5.3.1_libmt.a 拷贝到 /usr/local/lib 下
cp -r /usr/json/jsoncpp-src-0.5.0/libs/linux-gcc-4.8.5/libjson_linux-gcc-4.8.5_libmt.a /usr/local/lib
测试一下
- 写一个testjson.cpp文件
vim testjson.cpp
- 输入以下代码
#include<iostream>
#include<json/json.h>
using namespace std;
int main()
{
string test="{\"id\":2021,\"name\":\"Happy New Year\"}";
Json::Reader reader;
Json::Value value;
if(reader.parse(test,value)){
if(!value["id"].isNull()){
cout<<value["id"].asInt()<<endl;
cout<<value["name"].asString()<<endl;
}
}
return 0;
}
- 编译文件
g++ testjson.cpp –o testjson /usr/local/lib/libjson_linux-gcc-5.3.1_libmt.a
- 运行
./testjson
- 结果如图所示:
简单补充一下JSON
JSON: JavaScript Object Notation JS对象简谱 , 是一种轻量级的数据交换格式.
JSON格式
对象是book,它有两个属性,分别是name和info
{ "name":"金苹果", "info":"种苹果" }
一个对象:由一个大括号表示.括号中通过键值对来描述对象的属性 (可以理解为, 大括号中, 包含的是一个个的键值对.)
格式:键与值之间使用冒号连接, 多个键值对之间使用逗号分隔,键值对的键 应使用引号引住,键值对的值, 可以是JS中的任意类型的数据。