PySide6.QtCore.QJsonDocument¶
- 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 编码的文本表示中读取该文档,也可以将其写入其中。一个JSON文档可以从其基于文本的表示形式转换为
QJsonDocument,使用fromJson()。toJson()将其转换回文本。解析器非常快速和高效,并将JSON转换为Qt使用的二进制表示形式。可以使用!
isNull()来查询解析文档的有效性。可以使用
isArray()和isObject()来查询文档是否包含数组或对象。可以使用array()或object()来检索文档中包含的数组或对象,然后进行读取或操作。另请参阅
JSON Support in Qt 保存和加载游戏
- class JsonFormat¶
警告
本节包含从C++自动翻译到Python的代码片段,可能包含错误。
此值定义了使用
toJson()转换为QJsonDocument时生成的JSON字节数组的格式。常量
描述
QJsonDocument.Indented
定义人类可读的输出如下:
"Array": [ True, 999, "string" ], "Key": "Value", "null": null
QJsonDocument.Compact
定义紧凑输出如下:
{"Array":[True,999,"string"],"Key":"Value","null":null}
- __init__()¶
构建一个空且无效的文档。
- __init__(array)
- Parameters:
数组 –
QJsonArray
从
array构造一个QJsonDocument。- __init__(other)
- Parameters:
其他 –
QJsonDocument
创建
other文档的副本。- __init__(object)
- Parameters:
对象 –
QJsonObject
从
object创建一个QJsonDocument。- array()¶
- Return type:
返回文档中包含的
QJsonArray。如果文档包含对象,则返回一个空数组。
另请参阅
- static fromJson(json[, error=None])¶
- Parameters:
json –
QByteArray错误 –
QJsonParseError
- Return type:
将
json解析为UTF-8编码的JSON文档,并从中创建一个QJsonDocument。如果解析成功,则返回一个有效的(非空的)
QJsonDocument。如果失败,返回的文档将为null,并且可选的error变量将包含有关错误的更多详细信息。- static fromVariant(variant)¶
- Parameters:
variant – 对象
- Return type:
从
QVariantvariant创建一个QJsonDocument。如果
variant包含除QVariantMap、QVariantHash、QVariantList或QStringList之外的任何其他类型,则返回的文档无效。另请参阅
- isArray()¶
- Return type:
布尔
如果文档包含数组,则返回
true。另请参阅
- isEmpty()¶
- Return type:
布尔
如果文档不包含任何数据,则返回
true。- isNull()¶
- Return type:
布尔
如果此文档为空,则返回
true。空文档是通过默认构造函数创建的文档。
从UTF-8编码的文本或二进制格式创建的文档在解析过程中会进行验证。如果验证失败,返回的文档也将为null。
- isObject()¶
- Return type:
布尔
如果文档包含对象,则返回
true。- object()¶
- Return type:
QJsonObject
返回文档中包含的
QJsonObject。如果文档包含数组,则返回一个空对象。
另请参阅
- __ne__(rhs)¶
- Parameters:
rhs –
QJsonDocument- Return type:
布尔
如果
lhs文档不等于rhs文档,则返回true,否则返回false。- __eq__(rhs)¶
- Parameters:
rhs –
QJsonDocument- Return type:
布尔
如果
lhs文档等于rhs文档,则返回true,否则返回false。- operator(key)¶
- Parameters:
key –
QLatin1String- Return type:
- operator(key)
- Parameters:
key – str
- Return type:
这是一个重载函数。
- operator(key)
- Parameters:
key – str
- Return type:
返回一个
QJsonValue,表示键key对应的值。等同于调用
object().value(key)。如果键不存在,或者
isObject()为假,则返回的QJsonValue为Undefined。另请参阅
QJsonValueisUndefined()QJsonObject- operator(i)
- Parameters:
i – 整数
- Return type:
返回一个
QJsonValue,表示索引i的值。等同于调用
array().at(i)。返回的
QJsonValue是Undefined,如果i超出范围,或者如果isArray()为 false。- setArray(array)¶
- Parameters:
数组 –
QJsonArray
将
array设置为此文档的主要对象。另请参阅
- setObject(object)¶
- Parameters:
对象 –
QJsonObject
将
object设置为此文档的主要对象。另请参阅
- swap(other)¶
- Parameters:
其他 –
QJsonDocument
将文档
other与此文档交换。此操作非常快速且永远不会失败。- toJson([format=QJsonDocument.JsonFormat.Indented])¶
- Parameters:
格式 –
JsonFormat- Return type:
将
QJsonDocument转换为提供的format格式的UTF-8编码的JSON文档。另请参阅
- toVariant()¶
- Return type:
对象
返回一个表示Json文档的
QVariant。如果文档是
QJsonArray,则返回的变体将是QVariantList;如果文档是QJsonObject,则返回的变体将是QVariantMap。另请参阅