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:
从
QVariant
variant
创建一个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
。另请参阅
QJsonValue
isUndefined()
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。另请参阅