Qt 4.8.5 jsoncpp lib

                                Qt 4.8.5 jsoncpp lib  

一、参考文档:
    1. QtCreator动态编译jsoncpp完美支持x86和arm平台
        http://www.linuxidc.com/Linux/2012-02/53678.htm
    2. Jsoncpp的使用
        http://www.cnblogs.com/kex1n/archive/2011/12/02/2272328.html

二、Drownload jsoncpp open source:
    经过测试,尽量下载参考文档1里的源代码,我从github上下载最新的版本,在我的Qt 4.8.5
    上面编译会出问题,而使用参考文档里的源代码没有问题。

三、使用流程:
    1. 将include\json里面所有文件复制到刚刚新建的json文件夹里(共8个文件,全部是.h的头文件);
    2. 将src/lib_json里面的所有文件全部复制到json文件里,共8个文件;
    3. 通过复制这些文件,就组成了我们所要的JSON库的全部源代码了。完整的文件清单见下面:
        autolink.h
        config.h
        features.h
        forwards.h
        json_batchallocator.h
        json.h
        json_internalarray.inl
        json_internalmap.inl
        json_reader.cpp
        json_value.cpp
        json_valueiterator.inl
        json_writer.cpp
        reader.h
        sconscript
        value.h
        writer.h
    4. 把刚刚准备好的JSON库,复制到项目的同一目录下;
    5. 在需要用到json解析的文件中引入Json库:#include "json/json.h";
    6. 参考《参考文档》中的例子进行测试。

四、Test Demo:
    #include "mainwindow.h"
    #include "ui_mainwindow.h"
    #include "unistd.h"
    #include "json/json.h"

    MainWindow::MainWindow(QWidget *parent) :
        QMainWindow(parent),
        ui(new Ui::MainWindow)
    {
        ui->setupUi(this);
        using namespace std;
        std::string strVale = "{\"number\":\"13\",\"name\":\"zeng\", \"age\":\"34\"}";

        ui->parseString->setText(QString::fromStdString(strVale));
    }

    MainWindow::~MainWindow()
    {
        delete ui;
    }

    void MainWindow::on_parse_clicked()
    {
        using namespace std;
        Json::Reader reader;
        Json::Value value;
        if ( reader.parse(ui->parseString->toPlainText().toStdString(), value)) {
            ui->number->setText(QString::fromStdString(value["number"].asString()));
            ui->name->setText(QString::fromStdString(value["name"].asString()));
            ui->age->setText(QString::fromStdString(value["age"].asString()));
        }

    }

    void MainWindow::on_synthetic_clicked()
    {
        Json::FastWriter writer;
        Json::Value person;

        person["number"] = "111";
        person["name"] = "zengjf";
        person["age"] = "100";

        std::string jsontofile = writer.write(person);

        ui->parseString->setText(QString::fromStdString(jsontofile));
    }

    void MainWindow::on_pushButton_clicked()
    {
        ui->parseString->setText("");
    }
时间: 2024-10-12 10:22:10

Qt 4.8.5 jsoncpp lib的相关文章

Qt+QZXing编写识别二维码的程序

本人最近在用Qt编写程序,需要用编写二维码识别功能.在网上搜寻一番,找到了QZXing.配置过程中确实出了一大把汗,这里我写这篇文章记录配置方法,替后人省一把汗吧!我的开发环境:MSVC2010 + Qt5 从这里下载最新版的QZXing_sourceV2.3.zip,解压之后得到的是源代码,里面有一个QZXing.pri文件.理论上用MSVC加载这个pri文件之后这个库的代码就会出现在工程的代码列表中,但是理论归理论,实际上msvc在加载pri的过程中,弹出一大堆错误信息,完全不知所云,网上找

Qt - Qt调用VS生成的C静态库

1,生成dll和lib库 在vs2010中新建工程,在向导中选择DLL,如下图所示: 新建两个文件mydll.h和mydll.c mydll.h代码如下: 1 #ifndef MYDLL_H 2 #define MYDLL_H 3 #ifdef __cplusplus // 4 extern "C"{ 5 #endif 6 __declspec(dllexport) int myFun(int a,int b); 7 8 #ifdef __cplusplus 9 } 10 #endif

移植Qt与Tslib到X210开发板的体会

1.将QT移植到X210上,让X210开发板可以运行QT东西,需要几个东西.tslib QT源码编译后的lib库等 (1)tslib移植: @1:下载tslib,官方上下就可以. @2:解压.比如解压到了/root/xin_210/下 @3:选择固定的交叉编译工具连,内核,tslib,QT源码都要用这一个编译,我用的是arm-2009q3.这个工具链中的arm-none-linux-gnueabi/libc/usr/include/linux/input.h中的EV_VERSION宏的的值要和内

QT、QTE、qtopia区别

QT.QTE.qtopia区别 Qt的授权是分为两条线,商业版和开源版.如果使用商业版的Qt,那么开发出的程序可以是私有的和商业的:如果使用的是开源版的Qt,由于其使用的是GPL协议,那么可发出的程序也必须是GPL的.不过自从qt 4.5.0版本,诺基亚公司使用了LGPL协议,那么写出的程序就可以据为己有了! Qt 的版本是按照不同的图形系统来划分的,目前分为四个版本:Win32版,适用于Windows平台:X11版,适合于使用了x系统的各种 linux 和 unix的平台:Mac版,适合与苹果

Qt 5.6.0 动态编译(VS2013 x86 target xp openssl icu webkit)

经历了多次延期后,在3月16号,Qt发布了5.6.0版本(全面支持高DPI无疑是一个亮点),从5.6.0版本开始,Qt直接移除了webkit模块,让webengine作为其替代选择,不过webengine无法为WinXP编译(参考:https://bugreports.qt.io/browse/QTBUG-49900).如果你还有用户仍在WinXP上使用webkit,Qt官方给的解决方案是你可以自己编译webkit.当然编译一向都不是一个很容易的东西,笔者在编译过程中也出现了很多问题,不过最后还

QT程序在windows下部署发布

转载:http://www.cnblogs.com/Fan_Fan/archive/2010/05/29/1746860.html QT程序在windows下部署发布 以下包括了部分网上收集的,以及qt帮助里的内容(Deploying an Application on Qt/Windows) 首先,打开windows控制台,然后,找到vs安装目录下的bin里,执行 vcvars32.bat 这个脚本.执行完之后,vs需要的所有环境变量就已经设置好了. 我的环境是QT 4.3.3 + mingw

Win7下 OpenCV+Qt开发环境搭建

1.所需软件工具: (1)OpenCV开发库,2.4.9版:包括源文件(source文件夹)和编译后的文件(build文件夹),但最好自己使用CMake又一次编译.否则easy出错. (2)Qt Creator,在官网下载最新版的,选择MinGW版本号. (3)CMake,官网下载最新版. 2.安装OpenCV.即将源文件和编译后文件,解压到文件夹: F:\ProgramFiles\programme\openCV\openCV249 当中包括两个文件夹:build(编译后文件)和sources

How to change default used version of Qt/qmake?

1 Replace Default Qt version paths in: /usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf: /opt/Qt5/bin /opt/Qt5/lib Check: qtchooser -print-env 2 PATH set export PATH=/path/to/bin:$PATH Reference: Qt5 installation and path configuration

基于Qt搭建ROS开发环境

参考的博客: http://blog.csdn.net/u013453604/article/details/52186375 http://blog.csdn.net/dxuehui/article/details/44647861 1. Qt插件ros_qtc_plugin安装 使用ros-industrial的Levi-Armstrong在2015年12月开发的一个 Qt插件ros_qtc_plugin,这个插件使得Qt"新建项目"和"新建文件"选项中出现RO