QT_Json
2016-03-20 15:01
489 查看
json是一种轻量级的数据交换格式。
下面我们用qt实现JSON
MyWidget.cpp
补充一下头文件和项目文件:
T17Json.pro
HEADERS += \
MyWidget.h
SOURCES += \
MyWidget.cpp
QT +=widgets gui
MyWidget.h
程序输出
"{\"age\":36,\"male\":true,\"password\":\"e953e00e4ed190e46daf07f9f3da2d52\",\"username\":\"minxminx1\"}"
yes
如果是
模式的话:
"{\n \"age\": 36,\n \"male\": true,\n \"password\": \"e953e00e4ed190e46daf07f9f3da2d52\",\n \"username\": \"minxminx1\"\n}\n"
就会有换行。
下面我们用qt实现JSON
MyWidget.cpp
#include "MyWidget.h" #include <QApplication> #include <QJsonDocument> #include <QJsonObject> #include <QDebug> #include <QCryptographicHash> MyWidget::MyWidget(QWidget *parent) : QWidget(parent) { QJsonObject obj; QByteArray md5 = QCryptographicHash::hash(QByteArray("minxminx"),QCryptographicHash::Md5); obj.insert("username",QString("minxminx1")); obj.insert("password",QString(md5.toHex())); obj.insert("male",true); obj.insert("age",36); QJsonDocument doc(obj); //没有换行的 QByteArray json = doc.toJson(QJsonDocument::Compact); //有换的 //QByteArray json = doc.toJson(QJsonDocument::Indented); qDebug() << json; QJsonDocument doc2 = QJsonDocument::fromJson(json); QJsonObject obj2 = doc2.object(); if(obj2.value("username").toString() == "minxminx1") { qDebug() << "yes"; } } int main(int argc,char** argv) { QApplication app(argc,argv); MyWidget w; w.show(); return app.exec(); }
补充一下头文件和项目文件:
T17Json.pro
HEADERS += \
MyWidget.h
SOURCES += \
MyWidget.cpp
QT +=widgets gui
MyWidget.h
#ifndef MYWIDGET_H
#define MYWIDGET_H
#include <QWidget>
class MyWidget : public QWidget
{
Q_OBJECT
public:
explicit MyWidget(QWidget *parent = 0);
signals:
public slots:
};
#endif // MYWIDGET_H
程序输出
"{\"age\":36,\"male\":true,\"password\":\"e953e00e4ed190e46daf07f9f3da2d52\",\"username\":\"minxminx1\"}"
yes
如果是
QJsonDocument::Indented
模式的话:
"{\n \"age\": 36,\n \"male\": true,\n \"password\": \"e953e00e4ed190e46daf07f9f3da2d52\",\n \"username\": \"minxminx1\"\n}\n"
就会有换行。
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- 关于指针的一些事情
- c++ primer 第五版 笔记前言
- share_ptr的几个注意点
- Lua中调用C++函数示例
- Lua教程(一):在C++中嵌入Lua脚本
- Lua教程(二):C++和Lua相互传递数据示例
- C++联合体转换成C#结构的实现方法
- C++高级程序员成长之路
- C++编写简单的打靶游戏
- C++ 自定义控件的移植问题
- C++变位词问题分析
- C/C++数据对齐详细解析
- C++基于栈实现铁轨问题
- C++中引用的使用总结
- 使用Lua来扩展C++程序的方法
- C++中调用Lua函数实例
- Lua和C++的通信流程代码实例
- C与C++之间相互调用实例方法讲解
- 解析C++中派生的概念以及派生类成员的访问属性