当前位置:首页 > 编程笔记 > 正文
已解决

Linux环境下C++配置Json库

来自网友在路上 145845提问 提问时间:2023-10-25 18:45:12阅读次数: 45

最佳答案 问答题库458位专家为你答疑解惑

一、准备好压缩包

1、下载Jsoncpp
https://sourceforge.net/projects/jsoncpp/files/

2、下载scons
https://sourceforge.net/projects/scons/files/scons/2.1.0/scons-2.1.0.tar.gz/download

二.配置

1.创建一个json文件夹,使用Xftp将压缩包导入文件夹
2.使用
tar -zvxf scons-2.1.0.tar.gz
tar -zvxf scons-2.1.0.tar.gz
分别对压缩包解压
在这里插入图片描述
3.进入到 jsoncpp-src-0.5.0目录中执行sudo python setup.py install命令
进入scons-2.1.0目录中执行sudo scons platform=linux-gcc命令

4.拷贝出Json的头文件

/jsoncpp-src-0.5.0/include/目录下的json文件夹拷贝到/usr/include/

5、拷贝出Json的静态链接库

jsoncpp-src-0.5.0/libs/linux-gcc-4.9.1/目录下的libjson_linux-gcc-4.9.1_libmt.a 拷贝到/usr/local/lib/下,并为了方便使用,将其重命名为libjson.a

9 编译链接时 要加 -ljson
测试代码:


```cpp
#include<iostream>#include<json/json.h>using namespace std;int main()
{int       mark = 1;string    pwd("123456");//json的字符串格式string test="{\"id\":1,\"name\":\"kurama\"}";//reader用于将字符串格式转化为jsonJson::Reader  reader;//定义json变量Json::Value   value;if(reader.parse(test,value))//字符串转json{if(!value["id"].isNull()){cout<<value["id"].asInt()<<endl;//asString()用于转化为string,直接输出是带双引号的cout<<value["name"].asString()<<endl;}}Json::Value  json;//初始化jsonjson["mark"] = Json::Value(mark);json["pass"] = Json::Value(pwd);cout<<json["mark"].asInt()<<json["pass"].asString()<<endl;string   s;//json转字符串s = json.toStyledString();cout<<s<<endl;Json::Value  js;reader.parse(s,js);cout<<js["pass"].asString()<<endl;//转化为不带格式的字符串Json::FastWriter writer;  std::string out = writer.write(js);return 0;}

查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"Linux环境下C++配置Json库":http://eshow365.cn/6-24382-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!