而不是这个(来自 json.dumps
):
[
{
"created": 581937573,
"text": "asdf"
},
{
"created": 581937699,
"text": "asdf"
}
]
我想得到这个 [non-JSON] 输出:
[
{
created: 581937573,
text: "asdf"
},
{
created: 581937699,
text: "asdf"
}
]
如果
json.dumps
可以选择更改键的引号字符,我可以将其设置为占位符并稍后将其删除。不幸的是,它似乎没有这个选项......还有其他聪明的想法吗?(不需要从这种格式加载,但如果也存在解决方案会很有趣)
最佳答案
re.sub
在某些假设下提供快速修复:
import re
data = [...]
json_data = json.dumps(data)
with open('file.txt', 'w') as f:
f.write(re.sub(r'"(.*?)"(?=:)', r'\1', json_data))
file.txt
[
{
created: 581937573,
text: "asdf"
},
{
created: 581937699,
text: "asdf"
}
]
这些假设是
re.sub
在合理的时间内运行 该模式有效地查找所有字典键并去掉引号。
关于python - 如何在不引用键的情况下转储类似 json 的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50788082/