QJsonDocument类-JSON文档-PySide6库-GUI应用开发库
https://doc.qt.io/qtforpython-6/PySide6/QtCore/QJsonDocument.html
__init__()# 构造一个无效的空文档document = QJsonDocument()
__init__(array)# 使用数组构造一个文档# array:QJsonArraydocument = QJsonDocument(array)
__init__(other)# 构造一个文档的副本# other:QJsonDocumentdocument = QJsonDocument(QJsonDocument())
__init__(object)# 根据对象构造一个文档# object:Dict[str, PySide6.QtCore.QJsonValue]document = QJsonDocument({"键": QJsonValue("值")})
array()# 返回文档包含的数组# 返回QJsonArraydocument.array()
fromJson(json[,error=None])# 静态方法,用于从JSON格式的字节数组创建QJsonDocument对象# json:QByteArray# error: QJsonParseError# 返回QJsonDocumentjson_str = '{"姓名": "小明", "age": 30}'QJsonDocument.fromJson(json_str.encode("utf-8"))
fromVariant(variant)# 静态方法,将给定变体对象转换为JSON文档# variant:QVariant# 支持的转换关系:QVariantMap(Python的dict)->JSON对象,QVariantList(Python的list)->JSON数组,基本类型:字符串、数字、布尔值等->对应的JSON类型# 返回QJsonDocumentQJsonDocument.fromVariant({"键": "值"})
isArray()# 如果文档包含数组,则返回True# 返回booldocument.isArray()
isEmpty()# 如果文档不包含任何数据,则返回True# 返回booldocument.isEmpty()
isNull()# 如果文档为空则返回True# 返回booldocument.isNull()
isObject()# 返回文档是否包含对象# 返回booldocument.isObject()
object()# 返回文档包含的对象# 返回Dict[str, PySide6.QtCore.QJsonValue]document.object()
setArray(array)# 设置数组为文档的主要对象# arrya: QJsonArraydocument.setArray(array)
setObject(object)# 设置对象为文档的主要对象# object: Dict[str, PySide6.QtCore.QJsonValue]document.setObject({"键":QJsonValue("值")})
swap(other)# 交换文档# other: QJsonDocumentdocument.swap(QJsonDocument())
toJson([format=QJsonDocument.JsonFormat.Indented])# 将对象转换为JSON格式的字节数组# format: QJsonDocument.JsonFormat# 返回QByteArraydocument.toJson(QJsonDocument.JsonFormat.Compact)
toVariant()# 将对象转换为Qt的QVariant对象。# 如果文档是QJsonArray,返回的将是QVariantList(等同于Python的List);如果文档是QJson对象,返回将是QVariantMap(等同于Python的Dict),其它基本类型保持对应document.toVariant()
from PySide6.QtCore import QJsonDocument, QJsonValue, QJsonArray, QByteArrayif __name__ == "__main__":document = QJsonDocument()array = QJsonArray()array.append(QJsonValue({"key": "value"}))array_document = QJsonDocument(array)obj_document = QJsonDocument({"键": QJsonValue("值")})copy_document = QJsonDocument(QJsonDocument())print("array:{}".format(array_document.array()))json_str = '{"姓名": "小明", "age": 30}'print("fromJson:{}".format(QJsonDocument.fromJson(json_str.encode("utf-8"))))print("fromVariant:{}".format(QJsonDocument.fromVariant({"键": "值"})))print("fromVariant:{}".format(QJsonDocument.fromVariant([array])))print("isArray:{}".format(array_document.isArray()))print("isArray:{}".format(obj_document.isArray()))print("isEmpty:{}".format(document.isEmpty()))print("isNull:{}".format(document.isNull()))print("isObject:{}".format(obj_document.isObject()))print("isObject:{}".format(array_document.isObject()))print("object:{}".format(obj_document.object()))print("object:{}".format(array_document.object()))document.setArray(array)document.setObject({"键": QJsonValue("值")})print("toJson:{}".format(array_document.toJson(QJsonDocument.JsonFormat.Compact)))print("toJson:{}".format(obj_document.toJson(QJsonDocument.JsonFormat.Compact)))print("toVariant:{}".format(array_document.toVariant()))print("toVariant:{}".format(obj_document.toVariant()))

夜雨聆风
