网站源码整站打包wordpress更改固定链接
web/
2025/10/8 19:34:30/
文章来源:
网站源码整站打包,wordpress更改固定链接,网站蜘蛛爬行记录,php网站怎么做30201. QJsonArray类简介
QJsonArray封装了JSON数组。
JSON数组是值的链表#xff0c;可以插入和删除QJsonValue。
QJsonArray与QVariantList可以相互转换。QJsonArray可以用size(), insert(), removeAt()进行操作#xff0c;还可以用标准C的迭代器模式来迭代其内容…01. QJsonArray类简介
QJsonArray封装了JSON数组。
JSON数组是值的链表可以插入和删除QJsonValue。
QJsonArray与QVariantList可以相互转换。QJsonArray可以用size(), insert(), removeAt()进行操作还可以用标准C的迭代器模式来迭代其内容。
QJsonArray是一个隐式共享的类只要没有被改变可以和创建QJsonArray的document共享数据。 通过QJsonDocument可以将一个QJsonArray转换成或转换自一个文本形式的JSON。
Header: #include QJsonArray
qmake: QT core
Since: Qt 5.002. QJsonArray成员方法
QJsonArray()
QJsonArray(std::initializer_listQJsonValue args)
QJsonArray(const QJsonArray other)
QJsonArray(QJsonArray other)
~QJsonArray()
void append(const QJsonValue value)
QJsonValue at(int i) const
QJsonArray::iterator begin()
QJsonArray::const_iterator begin() const
QJsonArray::const_iterator constBegin() const
QJsonArray::const_iterator constEnd() const
bool contains(const QJsonValue value) const
int count() const
bool empty() const
QJsonArray::iterator end()
QJsonArray::const_iterator end() const
QJsonArray::iterator erase(QJsonArray::iterator it)
QJsonValue first() const
void insert(int i, const QJsonValue value)
QJsonArray::iterator insert(QJsonArray::iterator before, const QJsonValue value)
bool isEmpty() const
QJsonValue last() const
void pop_back()
void pop_front()
void prepend(const QJsonValue value)
void push_back(const QJsonValue value)
void push_front(const QJsonValue value)
void removeAt(int i)
void removeFirst()
void removeLast()
void replace(int i, const QJsonValue value)
int size() const
void swap(QJsonArray other)
QJsonValue takeAt(int i)
QVariantList toVariantList() const
bool operator!(const QJsonArray other) const
QJsonArray operator(const QJsonValue value) const
QJsonArray operator(const QJsonValue value)
QJsonArray operator(const QJsonValue value)
QJsonArray operator(const QJsonArray other)
QJsonArray operator(QJsonArray other)
bool operator(const QJsonArray other) const
QJsonValueRef operator[](int i)
QJsonValue operator[](int i) const03. QJsonArray成员方法解析
QJsonArray::QJsonArray(std::initializer_listQJsonValue args)
构建一个QJsonArrayQJsonArray::QJsonArray(const QJsonArray other)void QJsonArray::append(const QJsonValue value)
在QJsonArray尾部插入valueQJsonValue QJsonArray::at(int i) const
返回QJsonArray中索引为i的QJsonValue值iterator QJsonArray::begin()
const_iterator QJsonArray::begin() const
返回指向数组第一个元素的STL风格迭代器const_iterator QJsonArray::constBegin() const
返回指向数组第一个元素的const STL风格迭代器const_iterator QJsonArray::constEnd() const
返回指向数组最后一个元素后的位置的const STL风格迭代器bool QJsonArray::contains(const QJsonValue value) const
如果数组中包含value返回trueint QJsonArray::count() const
返回数组的大小bool QJsonArray::empty() const
如果数组为空返回trueconst_iterator QJsonArray::end() const
返回指向数组最后一个元素后的位置的STL风格迭代器iterator QJsonArray::erase(iterator it)
删除迭代器it指向的元素返回指向下一个元素的迭代器QJsonValue QJsonArray::first() const
返回数组中的第一个值[static] QJsonArray QJsonArray::fromStringList(const QStringList list)
将一个字符串链表list转换为QJsonArray[static] QJsonArray QJsonArray::fromVariantList(const QVariantList list)
将链表list转换为QJsonArray04. 参考示例
4.1 Json数组的生成
#include QCoreApplication
#include QJsonValue
#include QJsonArray
#include QJsonDocument
#include QByteArray
#include QDebug#include iostreamusing namespace std;//Json数组生成 [10, hello itcast, 3.1415, Qt]
int main(int argc, char *argv[])
{QCoreApplication a(argc, argv);//定义一个Json数组QJsonArray array;//向Json数组中追加数据array.append(QJsonValue(10));array.append(QJsonValue(hello itcast));array.append(QJsonValue(3.1415));array.append(QJsonValue(Qt));//转为Json文档QJsonDocument doc(array);//转化为字节数组//QByteArray arr doc.toJson(QJsonDocument::Compact);QByteArray arr doc.toJson();qDebug().noquote() arr;qDebug() arr;cout arr.toStdString();return a.exec();
}
4.2 Json数组生成和解析
#include QCoreApplication
#include QJsonValue
#include QJsonDocument
#include QJsonArray
#include QJsonObject
#include QJsonParseError#include QDebug//Json数组生成和解析
int main(int argc, char *argv[])
{QCoreApplication a(argc, argv);//[13, itcast, 3.1415, true]//定义Json数组对象QJsonArray array;array.append(13);array.append(itcast);array.append(3.1415);array.append(true);//Json文档QJsonDocument doc(array);//转化为字节QByteArray arr doc.toJson();qDebug().noquote() arr;qDebug() ;QJsonParseError err;QJsonDocument doc1 QJsonDocument::fromJson(arr, err);if (doc1.isNull() || err.error ! QJsonParseError::NoError){qDebug() Json解析出错;return 1;}//判断是否为Json数组if (!doc1.isArray()){qDebug() 非法的Json数组;return 1;}//通过文档获取Json数组QJsonArray arr1 doc1.array();#if 0for (int i 0; i arr1.count(); i){QJsonValue value arr1.at(i);//根据对应的类型解析switch(value.type()){case QJsonValue::Bool:qDebug() value.toBool();break;case QJsonValue::Double:qDebug() value.toDouble();break;case QJsonValue::String:qDebug() value.toString();break;case QJsonValue::Null:qDebug() ;break;case QJsonValue::Array://转化为数组qDebug() value.toArray();break;case QJsonValue::Object:qDebug() value.toObject();break;default:qDebug() 未知类型;}}#elseqDebug() arr1.at(0).toInt();qDebug() arr1.at(1).toString();qDebug() arr1.at(2).toDouble();qDebug() arr1.at(3).toBool();#endifreturn a.exec();
}05. 附录
5.1 参考官方文档
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/89224.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!