精华内容
下载资源
问答
  • 2019-01-02 20:40:49

    ubuntu环境下,安装jsoncpp库:

    在如下链接,下载jsoncpp-src-5.4.0.tar.gz

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

    在Ubuntu环境下,需先安装scons:

    apt-get install scons(要先安装python环境)

    解压文件
    tar -xvzf jsoncpp-src-5.4.0.tar.gz

    进入如下文件夹:
    cd jsoncpp-src-5.4.0

    输入如下命令:
    scons platform=linux-gcc

    最后会在文件夹libs下,生成两个文件:

    libjson_linux-gcc-5.4.0_libmt.so和libjson-5.4.0_libmt.a

    改名为:libjson.so和libjson.a

    移动文件:

    mv libs/linux-gcc-5.4.0/libjson.so  /lib 
    mv libs/linux-gcc-5.4.0/libjson.a   /lib 
    mv include/json/ /usr/include

    编译源文件命令:

    g++ -o main main.cpp -L. -ljson

     

    另外:CLion对pthread的支持方法

    在CLion的makefiles文件里,添加如下两句命令即可。
    find_package(Threads REQUIRED)
    target_link_libraries(thread Threads::Threads)

     

    更多相关内容
  • Ubuntu18.04安装Json库

    2022-03-09 23:45:45
    Ubuntu18.04安装Json库 前言 关于gcc、make和cmake的区别 cmake 是一种跨平台编译工具,比make更为高级。cmake主要是编写cmakelists.txt文件,然后用cmake命令将cmakelists.txt文件转化为make所需要的makefile文件...

    Ubuntu18.04安装Json库


    前言

    关于gcc、make和cmake的区别

    1. cmake 是一种跨平台编译工具,比make更为高级。cmake主要是编写cmakelists.txt文件,然后用cmake命令将cmakelists.txt文件转化为make所需要的makefile文件,最后用make命令编译源码生成可执行程序。
    2. 当你的程序有多个源文件时,用gcc逐个编译时容易出现混乱并且工作量大。因此出现了make工具。make工具可以看成是智能的批处理工具,它本身没有编译和链接的功能,而是用类似批处理的方式—通过调用makefile文件中用户指令的命令来进行编译和链接的。make 工具根据makefile中的命令进行编译和编译的。
    3. makefile命令中就包括调用gcc去比编译某个源文件的命令。
    4. makedile在一些简单的工程完全可以人工下手,但是当工程十分大时,手写makefile是十分麻烦的,如果换个平台makefile又要重新修改。
    5. 这是出现了cmake 工具,cmake 就可以生成makefile文件给上面的make用。并且可以跨平台身成对应平台能用的Makeflie文件,不需要自己在进行修改。
    6. cmake 根据camkelists.txt文件(组态档)去生成makefile。
    7. cmake是生成各种可以直接控制编译过程的控制器的配置文件,比如makefile、各种IDE的配置文件。
    8. make是一个简单的通过文件时间戳控制自动过程、处理依赖关系的软件,这个自动过程可以是编译一个项目。

    1. gcc是GNU Compiler Collection(就是GNU编译器套件),也可以简单认为是编译器,它可以编译很多种编程语言(括C、C++、Objective-C、Fortran、Java等等)。
    2. 当你的程序只有一个源文件时,直接就可以用gcc命令编译它。
    3. 但是当你的程序包含很多个源文件时,用gcc命令逐个去编译时,你就很容易混乱而且工作量大
    4. 所以出现了make工具make工具可以看成是一个智能的批处理工具,它本身并没有编译和链接的功能,而是用类似于批处理的方式—通过调用makefile文件中用户指定的命令来进行编译和链接的。
    5. makefile是什么?简单的说就像一首歌的乐谱,make工具就像指挥家,指挥家根据乐谱指挥整个乐团怎么样演奏,make工具就根据makefile中的命令进行编译和链接的。
    6. makefile命令中就包含了调用gcc(也可以是别的编译器)去编译某个源文件的命令。
    7. makefile在一些简单的工程完全可以人工手下,但是当工程非常大的时候,手写makefile也是非常麻烦的,如果换了个平台makefile又要重新修改。
    8. 这时候就出现了Cmake这个工具,cmake就可以更加简单的生成makefile文件给上面那个make用。当然cmake还有其他功能,就是可以跨平台生成对应平台能用的makefile,你不用再自己去修改了。
    9. 可是cmake根据什么生成makefile呢?它又要根据一个叫CMakeLists.txt文件(学名:组态档)去生成makefile。
    10. 到最后CMakeLists.txt文件谁写啊?亲,是你自己手写的。
    11. 当然如果你用IDE,类似VS这些一般它都能帮你弄好了,你只需要按一下那个三角形

    gcc和g++安装
    sudo apt install gcc
    sudo apt install g++
    下面介绍下在ubuntu下利用g++编译cpp文件
    step1. 写一个简单的测试程序,当然要用到hello world啦! 命名为test.cpp

    #include <iostream> 
    int main()
    {
    	std::cout << "Hello World!" << std::endl;
    	return 1;
    }
    

    step2. 利用下述指令可以直接生成一个可执行文件
    $ g++ test.cpp -o test
    step3. 然后执行就可以看到打印结果啦

    $ ./test
    Hello World!
    

    1. curl安装
    终端命令:

    sudo apt-get update
    sudo apt install curl
    

    安装完成之后,/usr/lib中能搜到libcurl.so的文件。
    若没有libcurl.so可以试下下面这条指令:
    sudo apt-get install libcurl4-openssl-dev
    2. json库安装
    (1)安装scons
    去网站下载源码编译安装:http://sourceforge.net/projects/scons/files/scons/2.1.0/scons-2.1.0.tar.gz
    下载后,将压缩包放到/home下解压:
    tar zxzvf scons-2.1.0.tar.gz
    进入到scons-2.1.0
    sudo python setup.py install
    设置环境变量:
    sudo gedit ~/.bashrc
    在打开的系统环境文件尾部加上:

    #json
    export MYSCONS=/home/zbr/scons-2.1.0
    export SCONS_LIB_DIR=$MYSCONS/engine
    

    上面MYSCONS路径根据自己的情况修改然后source一下
    source ~/.bashrc
    (2) 安装jsoncpp
    官网下载jsoncpp源码包:http://sourceforge.net/projects/jsoncpp/files/
    依然考到/home下解压:
    tar -zxvf jsoncpp-src-0.5.0.tar.gz
    然后:

    cd jsoncpp-src-0.5.0
    scons platform=linux-gcc 
    sudo mv libs/linux-gcc-5.4.0/libjson_linux-gcc-5.4.0_libmt.so /usr/lib 
    sudo mv include/json/ /usr/include 
    

    因为gcc版本不一样,安装之后路径名字会有所差别,以自己实际的路径为准。
    3. 测试
    测试json和curl的库是否安装好,代码:

    #include <iconv.h>
    #include <iostream>
    #include <stdlib.h>
    #include <sys/types.h>
    #include <iostream>
    #include <sstream>
    #include <json/json.h>
    #include <curl/curl.h>
    using namespace std;
    bool trans(const char *pFromCode,const char *pToCode,const char *pInBuf,size_t iInLen,char *pOutBuf,size_t iOutLen)
     
    {
     
    //打开字符集转换
     
    iconv_t hIconv = iconv_open(pToCode, pFromCode);
     
    if (! hIconv) return false;
     
    //开始转换
     
    size_t iRet = iRet = iconv(hIconv, (char **) (&pInBuf), &iInLen, &pOutBuf, &iOutLen);
     
    //关闭字符集转换
     
    iconv_close(hIconv);
     
    return (bool)iRet;
     
    }
     
    //回调函数
    size_t write_data(void *ptr, size_t size, size_t nmemb, void *stream) 
    {
        string data((const char*) ptr, (size_t) size * nmemb);
     
        *((std::stringstream*) stream) << data << endl;
     
        return size * nmemb;
    }
     
     
    int main()
    {
    	CURL* curl = NULL;
    	CURLcode res = CURLE_OK;
    	//HTTP报文头
    	struct curl_slist* headers = NULL;
    	
     
    	Json::Value value;
        value["dst_uid"]=Json::Value("wZdxqE9zZUlSrB");
    	value["item_uid"]=Json::Value("AqRxqE9zZUlSrB");
    	value["txt_lines"]=Json::Value("YWJjZGVmPXNzcyZhYmNkZWbI1cbaPTIwMTktMDQtMTM=");
        Json::Reader reader;
    		
        std::string strResult = value.toStyledString();
        cout<<strResult<<endl;
        char ch[255];
        trans("ASCII","UTF-8",strResult.c_str(),strResult.size(),ch,sizeof(ch));
        string s=string(ch);
        cout<<s<<"length"<<endl; 
     
     
        //中curl_easy_init时多次调用*/
        curl_global_init(CURL_GLOBAL_ALL);
        //初始化easy handler句柄
        curl = curl_easy_init();
        if (curl) 
        {
            //构建HTTP报文头
            curl_slist *http_headers = NULL;
            http_headers = curl_slist_append(http_headers, "Accept: application/json");
            http_headers = curl_slist_append(http_headers, "Content-Type: application/json");//text/html
            http_headers = curl_slist_append(http_headers, "charsets: utf-8");
            //设置method为post
            //curl_easy_setopt(m_pCurlHandlder, CURLOPT_POST, 1);
            curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "POST");
            //设置post请求的url地址
            curl_easy_setopt(curl, CURLOPT_URL, "http://192.168.1.108:8080/json");
            //设置HTTP头
            curl_easy_setopt(curl, CURLOPT_HTTPHEADER, http_headers);
            //设置发送超时时间
            curl_easy_setopt(curl, CURLOPT_TIMEOUT, 1);
        
            curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
            //执行单条请求
            curl_easy_setopt(curl,CURLOPT_POSTFIELDS,strResult.c_str());
            //curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, value.toStyledString().size());
            curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data);//设置回调函数
            res = curl_easy_perform(curl);
            if (res != CURLE_OK) {
            //curl_easy_strerror进行出错打印
            cout << "curl_easy_perform() failed:" << curl_easy_strerror(res);
            }
            curl_slist_free_all(headers);
            //这个调用用来结束一个会话.与curl_easy_init配合着用
            curl_easy_cleanup(curl);
            //在结束libcurl使用的时候,用来对curl_global_init做的工作清理。类似于close的函数
            curl_global_cleanup();
            return 0;
    	}
     
    }
    

    g++编译:
    g++ test.cpp -l json_linux-gcc-5.4.0_libmt -l curl -o test
    cmake编译,cmakelists文件:

    cmake_minimum_required(VERSION 2.8.12)
    # 允许c++11标准、O3优化、多线程。match选项可避免一些cpu上的问题
    set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -march=native -O3 -pthread" )
    #设置编译器(可选的有gcc,g++)
    SET(CMAKE_CXX_COMPILER "g++") 
    # 设置用debug还是release模式。debug允许断点,而release更快
    #set( CMAKE_BUILD_TYPE Debug )
    set( CMAKE_BUILD_TYPE Release )
     
    project(test)
    #add_compile_options(-std=c++11)
    #find_package(jsoncpp  CONFIG REQUIRED)
    #include_directories(
    #  include
    #  /include/json/
    #)
     
     
    if(NOT WIN32)
    ADD_DEFINITIONS("-std=c++0x -O3")
    endif(NOT WIN32)
     
    #target_link_libraries(main PRIVATE jsoncpp_object jsoncpp_static)
    #target_link_libraries(jsoncpp_object jsoncpp_static)
    include_directories(src)
    FILE(GLOB_RECURSE sourcefiles "src/*.cpp")
    add_executable(test ${sourcefiles})
    #TARGET_LINK_LIBRARIES(test ${JSONCPP})
    target_link_libraries(${PROJECT_NAME} 
    	libjson_linux-gcc-5.4.0_libmt.so
    	libcurl.so
    )
    

    运行结果:
    请添加图片描述
    参考文献:
    https://blog.csdn.net/zbr794866300/article/details/118652288
    https://blog.csdn.net/qq_42019721/article/details/122056716
    https://blog.csdn.net/sunzhao1000/article/details/103125970

    展开全文
  • JSON 相关概念: 序列化(Serialization):将对象的状态信息转换为可以存储或可以通过网络传输的过程,传输的格式可以是JSON,XML等。反序列化就是从存储区域(JSON,XML)读取反序列化对象的状态,重新创建该对象...
  • python3安装json库-python库json快速入门

    千次阅读 2020-11-11 15:10:55
    在本教程中,您将学习如何借助示例在Python中解析,读取和编写JSON。 此外,您将学习将JSON转换为dict并将其打印出来。JSON简介JSON (JavaScript Object Notation) 是一种用于表示结构化数据的流行数据格式。 常用于...

    在本教程中,您将学习如何借助示例在Python中解析,读取和编写JSON。 此外,您将学习将JSON转换为dict并将其打印出来。

    JSON简介

    JSON (JavaScript Object Notation) 是一种用于表示结构化数据的流行数据格式。 常用于服务器和Web应用程序之间传输和接收数据。

    在Python中,JSON以字符串形式表示。 例如:

    p = "{"name": "Bob", "languages": ["Python", "Java"]}"

    将JSON对象存储在文件中也很常见。

    J在Python中解析JSON

    使用json模块可以轻松解析包含JSON对象的JSON字符串和文件。

    import json

    person = "{"name": "http://china-testing.github.io/", "languages": ["English", "Fench"]}"

    person_dict = json.loads(person)

    # Output: {"name": "http://china-testing.github.io/", "languages": ["English", "Fench"]}

    print( person_dict)

    # Output: ["English", "French"]

    print(person_dict["languages"])

    执行结果

    $ python3 test.py

    {"name": "http://china-testing.github.io/", "languages": ["English", "Fench"]}

    ["English", "Fench"]

    这里, person是JSON字符串, person_dict是字典

    您可以使用json.load()方法读取包含JSON对象的文件。

    假设您有名为person.json的文件,其中包含JSON对象

    import json

    with open("person.json") as f:

    data = json.load(f)

    # Output: {"languages": ["English", "Fench"], "name": "http://china-testing.github.io/"}

    print(data)

    我们使用open()函数来读取json文件。 然后,使用json.load()方法解析文件,该方法为我们提供了名为data的字典。

    以使用json.dumps()方法将字典转换为JSON字符串。

    import json

    person_dict = {"name": "Bob",

    "age": 12,

    "children": None

    }

    person_json = json.dumps(person_dict)

    # Output: {"name": "Bob", "age": 12, "children": null}

    print(person_json)

    json.dump()方法将JSON写入文件。

    import json

    person_dict = {"name": "Bob",

    "languages": ["English", "Fench"],

    "married": True,

    "age": 32

    }

    with open("person.txt", "w") as json_file:

    json.dump(person_dict, json_file)

    参考资料

    我们使用"w"以书写模式打开了一个名为person.txt的文件。 如果该文件尚不存在,则将创建该文件。 然后, json.dump()将person_dict转换为JSON字符串,该字符串将保存在person.txt文件中。

    运行该程序时,将创建person.txt文件。 该文件中包含以下文本。

    {"name": "Bob", "languages": ["English", "Fench"], "married": true, "age": 32}

    要分析和调试JSON数据,我们可能需要以更易读的格式打印它。 这可以通过将其他参数indent和sort_keys给json.dumps()和json.dump()方法来完成。

    import json

    person_string = "{"name": "Bob", "languages": "English", "numbers": [2, 1.6, null]}"

    # Getting dictionary

    person_dict = json.loads(person_string)

    # Pretty Printing JSON string back

    print(json.dumps(person_dict, indent = 4, sort_keys=True))

    运行程序时,输出将是:

    {

    "languages": "English",

    "name": "Bob",

    "numbers": [

    2,

    1.6,

    null

    ]

    }

    在上面的程序中,我们使用了4空格来缩进。 并且,键按升序排序。缩进的默认值是None 。 并且, sort_keys的默认值为False 。

    展开全文
  • ubuntu 18.04安装json库

    千次阅读 2021-02-27 12:42:04
    json/json.h> 如果编译报错undefined reference to `Json::Value::的问题 改成 #include <jsoncpp/json/json.h> ============================================================ 还有就是CMakeList ...

    花了一上午时间,实在太菜了。。。

    我一开始用

    #include <json/json.h>

    如果编译报错undefined reference to `Json::Value::的问题

    改成

    #include <jsoncpp/json/json.h>  这个问题卡了一上午,太关键了。。。。

    ============================================================

    还有就是CMakeList

    cmake_minimum_required (VERSION 2.6)
    project (main)
    set(lib_DIR /usr/lib/x84_64-linux-gnu)
    link_directories(${lib_DIR})
    add_executable(main src/test1.cpp)
    target_link_libraries(main libjsoncpp.a)

     

    最后是安装json.cpp 安装流程参考下面的链接,我的问题是只把libjsoncpp.a放到/usr/include/lib中了, 忘记放libjsoncpp.so了

    参考链接

     

    https://blog.csdn.net/weixin_41477306/article/details/98643097

    https://blog.csdn.net/khalily/article/details/8844546?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.control&dist_request_id=b43db85f-c152-464a-a938-bf9af2d70e79&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.control

    展开全文
  • Python处理json模块的详细介绍,python安装json库前言本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。首先,了解下什么是JSON?JSON:...
  • ubuntu 安装json库

    千次阅读 2016-07-11 14:50:00
    # cd /home/lesterpang/fs/json-c-0.9/ # ./configure # make # make install #sudo vim /etc/ld.so.conf //增加下面一句话 include /usr/local/lib      编译用下面的命令 gcc -std=c99 ...
  • python中的json解释有好几个,不同版本使用方法不同。常用有 json-py 与smiplejson 两个包其中,json-py 包含json.py外,还有一个minjson,两者用法上有差别:import一样import json # 都是如此import的。import ...
  • if 01:cpp在linux下的配置JSON 官方的解释为:JSON 是一种...jsoncpp 是比较出名的 C++ JSON 解析。在 JSON 官网也是首推的。下面开始说明配置方法:1、先下载scons:(http://www.scons.org/)(版本为scons-2.1.0...
  • python爬虫系列之json库的使用

    千次阅读 2021-01-14 13:47:50
    这里我们主要讲讲 将数据保存为 json格式和 csv格式,这就要用到两个库 json库和 csv库,这两个库都是 python自带的库。关于数据存储我们分两篇来讲,这一篇先讲 json,下一篇再讲 csv。一、关于 jsonjson的简介直接...
  • Linux 下 json库安装及使用 C++之json使用 1.官网下载json-cpp,可以去sourceforge或github https://sourceforge.net/projects/jsoncpp/files/ 这里下载的是jsoncpp-src-0.5.0.tar.gz 2.下载scons ...
  • Python中的json库使用入门知识

    千次阅读 2021-01-29 05:35:42
    json库可以自字符串或文件中解析JSON。 该库解析JSON后将其转为Python字典或者列表。它也可以转换Python字典或列表为JSON字符串,常用的方法其实就两种dump和load.一: 使用json.loads方法将json对象转成Python对象...
  • linux下json库安装

    千次阅读 2020-03-16 15:26:16
    初级计算机小白,今天从早上一直尝试在linux下安装json 库, 由于不够熟悉linux下有些报错的原因,一直在百度上试图找原因,包括看了好多个博主的json库安装博客,但是第一步就出现了问题,就是下载jsoncpp压缩包这...
  • linux 下安装json库及使用

    万次阅读 2018-01-03 09:29:14
    安装Json库 1、下载JsonCpp http://sourceforge.net/projects/jsoncpp/files/ 2、下载scons http://sourceforge.net/projects/scons/files/scons/2.1.0/scons-2.1.0.tar.gz/download 3、解压scons-2.1.0....
  • c语言 json库

    2018-01-31 18:02:27
    c/c++语言开发json数据编码与解码,可使用该资源,该压缩包内只有一个json.h和一个json.c文件,专门写了一篇博客展示了如果使用。
  • windows下 json库安装及使用 1.官网下载json-cpp,可以去sourceforge或github https://sourceforge.net/projects/jsoncpp/files/ 这里下载的是jsoncpp-src-0.5.0.tar.gz 2.解压文件后打开jsoncpp-src-0.5.0\...
  • C++ json库安装

    千次阅读 2019-08-06 18:43:16
    完成安装 测试: #include #include<json/json.h> using namespace std; int main() { string test="{\"id\":0,\"name\":\"sikui\"}"; Json::Reader reader; Json::Value value; if(reader.parse(test,...
  • Python常用的json标准

    2020-09-19 14:56:33
    今天小编就为大家分享一篇关于Python常用的json标准,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
  • json库安装失败问题

    2022-01-09 23:11:59
    今天在装json库的时候,硬是装不了,总是爆出 ERROR: Could not find a version that satisfies the requirement json (from versions: none) ERROR: No matching distribution found for json 大多数博文分享是...
  • 安装pip和json

    千次阅读 2020-11-23 23:45:27
    安装pip#ubuntusudo apt-get install python3-pip#CentOS 7 for Python 2.xyum install python-setuptools#CentOS 7 for Python 3.xyum install python34-setuptoolseasy_install pip 如果嫌慢,手动下载源码包安装...
  • vs2019配置json库

    2021-11-10 19:22:04
    参考:... 当然:也可以使用https://github.com/nlohmann/json/releases/download/v3.7.3/json.hpp, 这个头文件,在项目里直接包含就可以了,相对第一种方式更为简单。
  • orjson是一个快速的Python JSON库。 它基准测试是最快的用于JSON序列化的Python库,其性能是最近的其他库的1.6倍到2.6倍,反序列化性能是最近的其他库的0.95倍到1.2倍。
  • python里面怎么安装json

    千次阅读 2020-11-21 02:18:47
    展开全部python中的2113json解释有好几个,不同版本使用方法不同。5261常用有 json-py 与smiplejson 两个包其中4102,json-py 包含json.py外,还有一个1653minjson,两者用法上有差别:import一样import json # 都...
  • C++引入json库(Clion)

    千次阅读 2022-03-27 21:22:23
    C++引入json库 环境Mac+Clion 首先,准备cppjson文件。 GitHub上拔下来。 github地址:https://github.com/open-source- parsers/jsoncpp#generating-amalgamated-source-and-header step1: 将jsoncpp下的include和...
  • 【Python基础】安装python第三方

    万次阅读 2020-11-23 23:45:16
    pip命令行安装(推荐)打开cmd命令行 安装需要的第三方如:pip install numpy在安装python的相关模块和时,我们一般使用“pip install 模块名”或者“python setup.py install”,前者是在线安装,会安装该包的...
  • 通过Annoconda安装Python中的json库

    千次阅读 2020-03-04 18:38:14
    通过Annoconda安装Python中json库的具体步骤 1. 3.在搜索框中输入json ,然后在搜索出现的列表中找到jsons, 最后进行安装即可。 小结:可以通过如上所述的方法安装大部分Python库。 ...
  • python json模块安装

    千次阅读 2020-12-17 10:35:15
    python里面怎么安装json包python中的json解释有好几个,不同版本使用方法不同。 常用有 json-py 与smiplejson 两个包 其中,json-py 包含json.py外,还有一个minjson,两者用法上有差别: import一样 import json ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 197,066
精华内容 78,826
关键字:

怎么安装json库

友情链接: DELTA.rar