【Qt】Qt中QJsonParseError类

165 篇文章 405 订阅

00. 目录

01. QJsonParseError简介

QJsonParseError类用于在JSON解析中报告错误。

Header:	#include <QJsonParseError> 
qmake:	QT += core
Since:	Qt 5.0
常量描述
QJsonParseError::NoError0未发生错误
QJsonParseError::UnterminatedObject1对象不正确地终止以右花括号结束
QJsonParseError::MissingNameSeparator2分隔不同项的逗号丢失
QJsonParseError::UnterminatedArray3数组不正确地终止以右中括号结束
QJsonParseError::MissingValueSeparator4对象中分割 key/value 的冒号丢失
QJsonParseError::IllegalValue5值是非法的
QJsonParseError::TerminationByNumber6在解析数字时,输入流结束
QJsonParseError::IllegalNumber7数字格式不正确
QJsonParseError::IllegalEscapeSequence8在输入时,发生一个非法转义序列
QJsonParseError::IllegalUTF8String9在输入时,发生一个非法 UTF8 序列
QJsonParseError::UnterminatedString10字符串不是以引号结束
QJsonParseError::MissingObject11一个对象是预期的,但是不能被发现
QJsonParseError::DeepNesting12对解析器来说,JSON 文档嵌套太深
QJsonParseError::DocumentTooLarge13对解析器来说,JSON 文档太大
QJsonParseError::GarbageAtEnd14解析的文档在末尾处包含额外的乱码

02. QJsonParseError成员函数

QString QJsonParseError::errorString() const
返回JSON解析错误时报告的错误信息

参考示例

//解析
QJsonParseError err;
QJsonDocument doc1 = QJsonDocument::fromJson(bytes, &err);
//解析出错判断
if (doc1.isNull() || err.error != QJsonParseError::NoError)
{
    qDebug() << err.errorString();
}
else
{
    qDebug() << "解析Json字节数组Ok";
}

03. 附录

3.1 Qt官方参考文档

  • 7
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Qt,可以使用Qt提供的Json类来组织和解析数据。Qt从版本5.0开始提供了对Json的支持。主要有四个与Json相关的类常用:QJsonDocument、QJsonArray、QJsonObject和QJsonValue。 QJsonDocument类封装了一个完整的JSON文档,可以从基于文本的UTF-8编码的表示以及Qt的二进制格式读取和写入该文档。 QJsonArray表示JSON数组,是一个值的列表。可以通过插入和删除QJsonValue来操作该列表。 QJsonObject表示JSON对象,是键值对的列表,其键是唯一的字符串,值由QJsonValue表示。 QJsonValue类封装了JSON支持的数据类型。 QJsonParseError类用于报告JSON解析过程的错误。 对于Json的使用,可以参考以上提到的类的文档和相关函数进行操作,根据具体的需求进行数据的组织和解析。Json格式的数据在Qt可以方便地进行处理,并且由于Json的数据格式与语言无关,因此在Qt的Json使用具有广泛的应用场景。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [【QTQt Json 的操作](https://blog.csdn.net/qq_43331089/article/details/124582761)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [【Qt专栏】QtJson的使用教程](https://blog.csdn.net/weixin_43729127/article/details/127522889)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值