- class QJsonDocument#
QJsonDocument类提供了一种读取和写入JSON文档的方法。更多信息…摘要#
方法#
def
__init__()def
array()def
isArray()def
isEmpty()def
isNull()def
isObject()def
object()def
__ne__()def
__eq__()def
operator[]()def
setArray()def
setObject()def
swap()def
toJson()def
toVariant()
静态函数#
def
fromJson()def
fromVariant()
注意
本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对片段翻译的贡献。如果您发现翻译有问题,也可以通过在https:/bugreports.qt.io/projects/PYSIDE创建工单的方式告诉我们
详细描述#
QJsonDocument是一个封装完整JSON文档的类,可以从UTF-8编码的文本表示形式中读取该文档,并将其写入。可以使用
fromJson()将JSON文档从其文本表示形式转换为QJsonDocument,使用toJson()将其转换回文本。解析器非常快速且效率高,将JSON转换为Qt使用的二进制表示形式。可以通过!
isNull()查询解析文档的有效性可以使用
isArray()和isObject()查询文档是否包含数组或对象。可以使用array()或object()检索文档中包含的数组或对象,然后读取或操作它。另请参阅
- 类名 JsonFormat#
警告
本节包含从 C++ 自动翻译到 Python 的代码片段,可能包含错误。
此值定义了在将数据转换为
QJsonDocument使用toJson()方法时生成的 JSON 字节数组的格式。常量
描述
QJsonDocument.Indented
定义为如下人类可读的输出:
"Array": [ True, 999, "string" ], "Key": "Value", "null": null
QJsonDocument.Compact
定义为如下紧凑输出:
{"Array":[True,999,"string"],"Key":"Value","null":null}
- __init__(array)#
- 参数:
array –
QJsonArray
从
array构造QJsonDocument。- __init__(other)
- 参数:
other –
QJsonDocument
创建
other文档的副本。- __init__(object)
- 参数:
object –
QJsonObject
从
object创建QJsonDocument。- __init__()
构建一个空且无效的文档。
- array()#
- 返回类型:
返回文档中包含的
QJsonArray。如果文档包含对象,则返回空数组。
另请参阅
- 静态 fromJson(json[, error=None])#
- 参数:
json –
QByteArrayerror –
QJsonParseError
- 返回类型:
解析UTF-8编码的JSON文档,并从中创建一个
QJsonDocument对象。如果解析成功,返回一个有效的(非空的)
QJsonDocument对象。如果失败,返回的文档将是空的,并且可选的error变量将包含关于错误的更多详细信息。- static fromVariant(variant)#
- 参数:
variant – 对象
- 返回类型:
从QVariant类型的
QVariant变体创建一个QJsonDocument。如果
variant包含除QVariantMap、QVariantHash、QVariantList或QStringList以外的任何类型,则返回的文档无效。另请参阅
- isArray()#
- 返回类型:
bool
如果文档包含数组,返回
true。另请参阅
- isEmpty()#
- 返回类型:
bool
如果文档不包含任何数据,返回
true。- isNull()#
- 返回类型:
bool
如果这个文档是空的,返回
true。空文档是通过默认构造函数创建的。
从UTF-8编码的文本或二进制格式创建的文档在解析过程中进行验证。如果验证失败,返回的文档也将是空的。
- isObject()#
- 返回类型:
bool
如果文档包含对象,返回
true。- object()#
- 返回类型:
QJsonObject
返回文档中包含的
QJsonObject。如果文档包含数组,则返回空对象。
另请参阅
- __ne__(other)#
- 参数:
other –
QJsonDocument- 返回类型:
bool
如果
other不等于此文档,则返回true。- __eq__(other)#
- 参数:
other –
QJsonDocument- 返回类型:
bool
如果
other文档与此文档相同,则返回true。- operator(key)#
- 参数:
key –
QLatin1String- 返回类型:
- operator(key)
- 参数:
key – str
- 返回类型:
这是一个重载函数。
- operator(key)
- 参数:
key – str
- 返回类型:
返回一个表示键
key的值的QJsonValue。相当于调用
object().value(key)。如果键不存在,或者
isObject()返回 false,则返回的QJsonValue是Undefined。另请参阅
QJsonValueisUndefined()QJsonObject- operator(i)
- 参数:
i – int
- 返回类型:
返回表示索引
i值的QJsonValue。等价于调用
array()的 .at(i)。如果
i超出范围或isArray()为 false,则返回的QJsonValue为Undefined。- setArray(array)#
- 参数:
array –
QJsonArray
将
array设置为此文档的主对象。另请参阅
- setObject(object)#
- 参数:
object –
QJsonObject
将
object设置为此文档的主对象。另请参阅
- swap(other)#
- 参数:
other –
QJsonDocument
与该文档交换
other。此操作非常快速且从不失败。- toJson([format=QJsonDocument.JsonFormat.Indented])#
- 参数:
format –
JsonFormat- 返回类型:
将
QJsonDocument转换为 UTF-8 编码的 JSON 文档,格式由format提供。另请参阅
- toVariant()#
- 返回类型:
对象
返回表示 Json 文档的
QVariant。返回的变体将是一个如果文档是
QJsonArray的 QVariantList,如果是QJsonObject的 QVariantMap。另请参阅