MIUMIUBLING

导航

Linux中JSON安装及使用

1.官网下载json-cpp,可以去sourceforge或github

https://sourceforge.net/projects/jsoncpp/files/

这里下载的是jsoncpp-src-0.5.0.tar.gz

 

2.下载scons

http://sourceforge.net/projects/scons/files/scons/2.1.0/scons-2.1.0.tar.gz/download

这里下载的是scons-2.1.0.tar.gz

 

3.解压刚刚下载的scons-2.1.0.tar.gz

终端输入命令:tar -zvxf scons-2.1.0.tar.gz

可以根据自己的需要选择解压地址

 

4.进入刚刚解压的scons-2.1.0文件夹中

终端输入命令:sudo python setup.py install

 

5.解压下载好的jsoncpp-src-0.5.0.tar.gz

tar -zvxf jsoncpp-src-0.5.0.tar.gz

同样的,可以根据自己的需要选择解压地址

 

6.进入刚刚解压的jsoncpp-src-0.5.0文件夹中

终端输入命令:sudo scons platform=linux-gcc

 

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

这里我的电脑不能直接复制粘贴文件夹,因此使用cp –r命令

终端输入如下:cp –r /mnt/share/jsoncpp-src-0.5.0/include/json /usr/include

 

8.将 /jsoncpp-src-0.5.0/libs/linux-gcc-5.3.1 目录下的libjson_linux-gcc-5.3.1_libmt.a 拷贝到 /usr/local/lib 下 (为便于使用,可将其libjson_linux-gcc-5.3.1_libmt.a重命名为简短一点的libjson.a)

同样,使用cp –r命令复制文件

终端输入如下:cp –r /mnt/share/jsoncpp-src-0.5.0/libs/linux-gcc-5.3.1/libjson_linux-gcc-5.3.1_libmt.a /usr/local/lib

重命名可以使用mv命令或rename命令

 

9.简单写一个测试代码 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;

}

 

10.编译刚刚写的testjson.cpp

终端输入命令: g++ testjson.cpp –o testjson /usr/local/lib/libjson_linux-gcc-5.3.1_libmt.a

(我使用绝对路径是保险)

然后输入命令运行: ./testjson

 

11.输出结果如下

2021

Happy New Year

 

12. 一些关于json使用小结

我个人认为json文件是存储数据的一种格式文件,而我们可以通过“字符串”对其中提取所需信息。

主要为读取json文件,写入json文件

注意对于二维三维多维的json数据,用多重Json::Value读取即可
====================================================================================无法运行,结合另一篇

 

要安装jsoncpp,首先要下载好scons,再去安装jsoncpp

scons下载地址:wget http://prdownloads.sourceforge.NET/scons/scons-2.2.0.tar.gz

Jsoncpp 下载地址 http://sourceforge.net/projects/jsoncpp/files/latest/download?_test=goal 

 

安装步骤如下:#tar -zxvf scons-2.1.0.tar.gz #cd scons-2.1.0

                   #python setup.py install

                   #tar -zxvf jsoncpp-src-0.5.0.tar.gz

                   #cd jsoncpp-src-0.5.0

                   #scons platform=linux-gcc

                   #mv libs/linux-gcc-4.4.7/libjson_linux-gcc-4.4.7_libmt.so /lib

                   #ln /lib/libjson_linux-gcc-4.4.7_libmt.so /lib/libjson.so

                   #mv include/json/ /usr/include/

                   #ldconfig

                   #./bin/linux-gcc-4.4.7/test_lib_json

                  【注意这里的版本号可能不同】先通过cd libs进入libs目录,再用“ls”命令查看自己的版本号,然后在上述步骤中修改成自己的版本号即可

           ======================================================第三篇https://www.csdn.net/tags/NtDaEgzsMzc2NjctYmxvZwO0O0OO0O0O.html

1. C++ json读写

1.1. rapidjson

git clone https://github.com/Tencent/rapidjson.git

待续

1.2. JsonCpp

1.2.1. 安装和编译

  1. 下载

http://sourceforge.net/projects/jsoncpp/files/

  1. 下载scons

http://sourceforge.net/projects/scons/files/scons/2.1.0/scons-2.1.0.tar.gz/download

  1. 解压scons-2.1.0.tar.gz
tar -zvxf scons-2.1.0.tar.gz

我的解压到了/opt/JSON/scons-2.1.0目录下了

  1. 进入到解压目录scons-2.1.0下面,执行命令:
sudo python setup.py install
  1. 解压jsconcpp
tar -zvxf jsoncpp-src-0.5.0.tar.gz

我的解压到了/opt/JSON/jsoncpp-src-0.5.0下

  1. 进入到jsoncpp解压目录下,执行命令:
sudo scons platform=linux-gcc
  1. 拷贝动态库
    将jsoncpp-src-0.5.0/libs/linux-gcc-4.9.1/目录下的libjson_linux-gcc-4.9.1_libmt.a 拷贝到/usr/local/lib/下,并为了方便使用,将其重命名为libjson.a

  2. 实例

#include<iostream>
#include<json/json.h>

using namespace std;

int main()
{
    string test="{\"id\":1,\"name\":\"kurama\"}";
    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++ test.cpp -I include -L libs/linux-gcc-9 -l json_linux-gcc-9_libmt

 

posted on 2022-09-08 14:50  MIUMIUBLING  阅读(2500)  评论(0编辑  收藏  举报