有一个缺少值的json 。任何嵌套级别都可以,但您需要将所有内容替换null为[].
源json:
{
"Action-bar": null,
"Action": "Action",
"Children": [
{"Action": null},
{"Action": true},
{"Action": "false"},
{"Action": {"need": null}}
],
"RGB-bar": null
}
import json
genre_translate = json.load(
open('genre_translate.json', encoding='utf-8')
)
...
需要获得:
{
"Action-bar": [],
"Action": "Action",
"Children": [
{
"Action": []
},
{
"Action": true
},
{
"Action": "false"
},
{
"Action": {
"need": []
}
}
],
"RGB-bar": []
}
在我看来,对于这项任务,最正确的解决方案不是通过递归,而是通过使用
object_pairs_hookjson.load参数。在
object_pairs_hook您需要传递一个函数,它将一个元组列表转换为两个元素,一个键和一个值,例如,在来自问题的 JSON 中,这些将是以下值:你需要返回字典。
由此,获得了一个函数,该函数将通过将
Nonepython -objects替换为[]:PS。
替换为的示例
"<null>":