乐于分享
好东西不私藏

QJsonDocument类-JSON文档-PySide6库-GUI应用开发库

QJsonDocument类-JSON文档-PySide6库-GUI应用开发库

QJsonDocument类提供一种读写JSON文档的方法。
更多信息可参考:
https://doc.qt.io/qtforpython-6/PySide6/QtCore/QJsonDocument.html
QJsonDocument类的方法:
__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()))
本站文章均为手工撰写未经允许谢绝转载:夜雨聆风 » QJsonDocument类-JSON文档-PySide6库-GUI应用开发库

评论 抢沙发

9 + 7 =
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
×
订阅图标按钮