我正在尝试使用 .将我的 Python 对象序列化为 JSON json.dumps
。如果你序列化一个dict
usingjson.dumps
它显然会被序列化为一个 JSON 字典{..}
;如果您序列化 alist
或 a tuple
,它将是一个 JSON 数组。
如果可能的话,我想知道是否有任何方法可以轻松地将 Python 序列化为dict
JSON list
。如果可能的话,我的意思是如果键从 0 开始并按顺序排列,例如:
{0:'data',1:'data',2:'data}
上面将被序列化为 JSON 为:'{"0": "data", "1": "data", "2": "data"}'
,但我希望它被序列化,['data','data','data']
因为键从 0 开始并按顺序排列。
我的理由是因为我有很多从 PHP 序列化的 JSON 数据,其中 PHP 数组有键,如果键按上述顺序排列,PHP 的json.encode
使用数组,如果它们以任何其他方式键入,它们被序列化作为 JSON 字典。我希望我的 JSON 序列化匹配我的 PHP 和 Python 代码。不幸的是,就我而言,更改 PHP 代码不是一种选择。
有什么建议么?我找到的唯一解决方案是编写自己的函数来遍历并验证每个 python 字典,看看它是否可以先转换为list
before json.dumps
。
编辑:我正在序列化的这个对象可以是 alist
或 a dict
,它内部也可以有额外的 dicts 和列表,等等(嵌套)。我想知道是否有任何“简单”的方法可以做到这一点,否则我相信我可以自己编写一个递归解决方案。但是使用现有代码来避免更多错误总是更好。