- 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 –
QByteArray
error –
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
。另请参阅
QJsonValue
isUndefined()
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。另请参阅