gpt4 book ai didi

json - 如何删除 json 中的\n,\r,\t

转载 作者:行者123 更新时间:2023-12-05 03:58:51 27 4
gpt4 key购买 nike

我正在使用 jq 创建一个 json 文件。这是输出:

{
"temperature":"21",
"humidity":"12.3",
"message":"Today ID 342 is running"
}
{
"temperature":"13",
"humidity":"40.1",
"message":"Today ID 98 is running"
}

如果我尝试使用 Python 打开这个文件,它会给我错误,除非我像这样手动删除换行符和制表符:

{"temperature":"21","humidity":"12.3","message":"Today ID 342 is running"}
{"temperature":"13","humidity":"40.1","message":"Today ID 98 is running"}

我尝试在 jq 中使用 -j 选项,但没有任何改变。有什么建议么?使用其他程序的解决方案也很好(sed 等)。谢谢!!

最佳答案

json 字典或列表中的制表符、换行符或空格绝对没问题。

文件不是有效的 json文档,因为它包含许多 json 文档(在本例中为字典),由换行符分隔。这样做的结果是不是一个有效的 json 文档,不能被严格的 json 解析器解析。至少不是通过 Python 的 json 库附带的那个。

如果您接受使用 jq 预处理文件,您可以使用 -s 选项将这些对象放入列表中:

jq -s . input.json > output.json
cat output.json
[
{
"temperature": "21",
"humidity": "12.3",
"message": "Today ID 342 is running"
},
{
"temperature": "13",
"humidity": "40.1",
"message": "Today ID 98 is running"
}
]

然后在Python中使用json.load:

import json

with open('output.json') as file_desc:
measurements = json.load(file_desc)

可以在这里找到纯 python 解决方案:How I can I lazily read multiple JSON values from a file/stream in Python?

关于json - 如何删除 json 中的\n,\r,\t,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57657193/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com