Qt 4.8. jsoncpp lib  

一、参考文档:
. QtCreator动态编译jsoncpp完美支持x86和arm平台
http://www.linuxidc.com/Linux/2012-02/53678.htm
. Jsoncpp的使用
http://www.cnblogs.com/kex1n/archive/2011/12/02/2272328.html 二、Drownload jsoncpp open source:
经过测试,尽量下载参考文档1里的源代码,我从github上下载最新的版本,在我的Qt 4.8.
上面编译会出问题,而使用参考文档里的源代码没有问题。 三、使用流程:
. 将include/json里面所有文件复制到刚刚新建的json文件夹里(共8个文件,全部是.h的头文件);
. 将src/lib_json里面的所有文件全部复制到json文件里,共8个文件;
. 通过复制这些文件,就组成了我们所要的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
. 把刚刚准备好的JSON库,复制到项目的同一目录下;
. 在需要用到json解析的文件中引入Json库:#include "json/json.h";
. 参考《参考文档》中的例子进行测试。 四、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"] = "";
person["name"] = "zengjf";
person["age"] = ""; std::string jsontofile = writer.write(person); ui->parseString->setText(QString::fromStdString(jsontofile));
} void MainWindow::on_pushButton_clicked()
{
ui->parseString->setText("");
}

Qt 4.8.5 jsoncpp lib的更多相关文章

  1. VC生成的DLL给QT的EXE调用时lib路径问题小结

    VC生成的DLL给QT调用,有两种方式,一种是隐式调用调用(使用.lib文件方式): ① 在*.pro工程文件中添加VC生成的lib文件路径时,或者使用一个绝对路径,如: LIBS += " ...

  2. QT 编译遇到重定义;不同的基类型&在QT中使用C++ lib库

    最近在使用osg和qt开发,在集成osg时候因为我使用的qt版本为非opengl的版本,导致qt自己封了一遍opengl的一些基类变量如double 这时候就会跟osg中声明的opengl的类型冲突, ...

  3. [C++] JsonCPP 的使用 完整配置过程

    最近准备开发一个程序 需要用到C++ 解析json 原始的C++解析json是不现实的 自己也写不出来json解析方法(主要是不靠谱) 所以找到了jsoncpp 这个库 但是... 因为各种原因 配置 ...

  4. JSONCPP安装

    我刚刚开始从windows MFC下的开发转的LINUX下的C++开发.在写这篇文章之前我三次安装jsoncpp,每一次安装都犯不同的错误.为了我能够在下一次安装时不再犯错误.特写此文!JSONCPP ...

  5. 用qt代码怎样编写图片保存格式[qt4.6]

    用qt代码怎样编写图片保存格式 qt提供了多个保存图片的接口,比较常用的接口如下 bool QPixmap::save ( const QString & fileName, const ch ...

  6. 在Qt中使用AnyCAD三维建模控件

    AnyCAD C++ SDK专为Qt框架增加了AnyPlatformQt.lib模块,在Qt中使用AnyCAD三维建模控件变得十分简单. 下载 Qt高速下载:http://pan.baidu.com/ ...

  7. QT程序在windows下部署发布

    转载:http://www.cnblogs.com/Fan_Fan/archive/2010/05/29/1746860.html QT程序在windows下部署发布 以下包括了部分网上收集的,以及q ...

  8. Qt, QT/E, Qtopia 的区别

    转自Qt, QT/E, Qtopia 的区别 Qt泛指Qt的所有桌面版本,比如Qt/X11,Qt Windows,Qt Mac等.由于Qt最早是在Linux中随着KDE流行开来的,因此通常很多人说的Q ...

  9. QT、QTE、qtopia区别

    QT.QTE.qtopia区别 Qt的授权是分为两条线,商业版和开源版.如果使用商业版的Qt,那么开发出的程序可以是私有的和商业的:如果使用的是开源版的Qt,由于其使用的是GPL协议,那么可发出的程序 ...

随机推荐

  1. .Net Core Linux部署之进程守护 Supervisor 安装配置

    1.Supervisor 安装 //安装easy_install yum install python-setuptools //安装Supervisor easy_install superviso ...

  2. 【pytorch】pytorch基础学习

    目录 1. 前言 # 2. Deep Learning with PyTorch: A 60 Minute Blitz 2.1 base operations 2.2 train a classifi ...

  3. 对spring boot 之AutoConfiguration 的理解

    来自:http://rensanning.iteye.com/blog/2363467 https://blog.csdn.net/tincox/article/details/79186067 Au ...

  4. Sql字符串操作函数

    1.去空格函数 (1).LTRIM() 把字符串头部的空格去掉. (2).RTRIM() 把字符串尾部的空格去掉. 2.字符转换函数(1).ASCII()返回字符表达式最左端字符的ASCII 码值.在 ...

  5. [Vue]vee-validate的使用——自定义校验规则及校验message

    1.安装vee-validate npm install vee-validate --save 2.main.js里引用vee-validate插件 import Vue from 'vue' im ...

  6. 设计模式--原型模式C++实现

    原型模式C++实现 1定义 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象 2类图 3实现 class Prototype { protected: Prototype(); publ ...

  7. Dubbo本地开发技巧

    背景 作为后端服务负载.前后分离的主要手段,dubbo在业界中使用率还比较高.随着Dubbo系统的增多,本地开发.调试就出现了麻烦之处 直接在开发本地起同样一份服务 由于Dubbo采用负载均衡的策略, ...

  8. bzoj1002: [FJOI2007]轮状病毒 生成树计数

    轮状病毒有很多变种,所有轮状病毒的变种都是从一个轮状基产生的.一个N轮状基由圆环上N个不同的基原子和圆心处一个核原子构成的,2个原子之间的边表示这2个原子之间的信息通道.如下图所示 N轮状病毒的产生规 ...

  9. 使用jQuery插件jRemoteValidate进行远程ajax验证,可以自定义返回的信息

    最近项目中有一个业务是收银员通过输入用户卡号,给用户充值或者消费,但是为了避免误操作(如卡号输错),于是编写了一个远程验证的jQuery插件, 当收银员输入卡号后,失去焦点,立即ajax请求服务器端, ...

  10. centos7 配置 NFS mount挂载服务器

    1. NFS服务端 安装NFS服务 yum install nfs_utils yum install rpcbind (系统默认已经有了,可查看下) 配置共享文件夹 1.    创建文件夹: mkd ...