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("");
}

最新文章

  1. .NET Core下的日志(2):日志模型详解
  2. 发布和运行HOLOLENS程序注意这里要勾上,不然就成普通的UWP程序了!
  3. JAVA 异常类
  4. Swift 笔记
  5. [SAP ABAP开发技术总结]逻辑数据库
  6. struts2 type="redirect"源码解析
  7. 【暑假】[深入动态规划]UVa 1628 Pizza Delivery
  8. cocos2d-x在NDK r9下的编译问题
  9. mysql通过frm+ibd文件还原data
  10. SSM框架+Plupload实现断点续传(Spring+SpringMVC+MyBatis+Plupload)
  11. android SurfaceView绘制 重新学习--基础绘制
  12. 如何解决C#编译中"csc不是内部或外部命令"的问题
  13. http知识累积
  14. Sicily 4495. Print permutations
  15. 「C」 数组、字符串、指针
  16. C#仪器数据文件解析-RTF文件
  17. Selenium里可以自行封装与get_attribute对应的set_attribute方法
  18. 本地图片上传与H5适配知识
  19. iOS开发-适配器和外观模式
  20. vue-router重新定向、redirect与alias区别

热门文章

  1. swift设计模式学习 - 装饰模式
  2. CentOS安装wkhtmltopdf及解决中文支持问题
  3. 在HTTP通讯过程中,是客户端还是服务端主动断开连接?
  4. 设计模式——适配器(Adapter)模式
  5. BZOJ4787/UOJ290 【ZJOI2017】仙人掌
  6. 日期插件My97DatePicker
  7. 如何成为 Python 高手
  8. Jenkins搭建GitHub仓库
  9. C# 终于写完了简单的ORM
  10. hdu4305生成树计数