【问题标题】:QJsonDocument fails with a confusing errorQJsonDocument 失败并出现令人困惑的错误
【发布时间】:2020-05-28 12:12:47
【问题描述】:

考虑以下代码:

from PyQt5.QtCore import QJsonDocument

json = {
    "catalog": [
        {
            "version": None,
        },
    ]
}
QJsonDocument(json)

在 Python 3.7 和 PyQt 5.14.2 下,最后一行出现如下错误:

TypeError: a value has type 'list' but 'QJsonValue' is expected

QJsonDocument 明确支持列表:QJsonDocument({'a': []}) 工作正常。

那么,发生了什么事?

【问题讨论】:

    标签: pyqt5 python-3.7 qjsondocument


    【解决方案1】:

    事实证明,None 值是原因。尽管docs 清楚地表明QJsonDocument 支持null 值,但PyQt5 不支持NoneQJsonDocument({'a': None}) 导致

    TypeError: a value has type 'NoneType' but 'QJsonValue' is expected.

    如果在 PyQt 5.15 中没有修复,我会报告错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-03-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-30
      • 1970-01-01
      • 2011-04-16
      • 2012-09-12
      相关资源
      最近更新 更多