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