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. Redis中RedisTemplate和Redisson管道的使用

    当对Redis进行高频次的命令发送时,由于网络IO的原因,会耗去大量的时间.所以Redis提供了管道技术,就是将命令一次性批量的发送给Redis,从而减少IO. 一.Jedis对redis的管道进行操 ...

  2. DataTable扩展:转化实体ToList

    直接上代码: 根据属性进行映射:DataTable转化成实体List public static class DataTableExtension { public static List<T& ...

  3. jni使用问题总结

    参考: https://blog.csdn.net/fred_lzy/article/details/53159138 https://blog.csdn.net/avi3/article/detai ...

  4. 51nod 1187 寻找分数

    本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000 作者博客:http://www.cnblogs.com/ljh2000-jump/ ...

  5. SOA和SaaS的区别

    SOA,Service Oriented ArchITecture,面向服务的架构 SaaS,Software as a Service https://blog.csdn.net/chenyi888 ...

  6. linux ps 命令参数详解

    -a 显示所有终端机下执行的进程,除了阶段作业领导者之外. a 显示现行终端机下的所有进程,包括其他用户的进程. -A 显示所有进程. -c 显示CLS和PRI栏位. c 列出进程时,显示每个进程真正 ...

  7. pg_ctl -- 启动、停止、重启 PostgreSQL

    pg_ctl 名称 pg_ctl -- 启动.停止.重启 PostgreSQL 语法 pg_ctl start [-w] [-s] [-D datadir] [-l filename] [-o opt ...

  8. MySQL Order By Rand()效率分析

    最近研究了一下MYSQL的随机抽取实现方法.举个例子,要从tablename表中随机提取一条记录,大家一般的写法就是:SELECT * FROM tablename ORDER BY RAND() L ...

  9. jQuery中兄弟元素、子元素和父元素的获取

    我们这里主要总结jQuery中对某元素的兄弟元素.子元素和父元素的获取,原声的Javascript代码对这些元素的获取比较麻烦一些,而jQuery正好对这些方法进行封装,让我们更加方便的对这些元素进行 ...

  10. spring security3.1配置比较纠结的2个问题

    转自:http://www.iteye.com/topic/1122629 总论无疑问的,spring security在怎么保护网页应用安全上做得很强很周全,但有些地方还是很差强人意,比如对< ...