Python:将多行json字符串更改为单行

2024-06-28 19:13:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我必须将下面的字符串传递给python命令

'[{
  "action": "DELETE",
  "is_enabled": true,
  "name": "qe_ta_rule_kYKco6_ObjectLifecyclePolicy",
  "object_name_filter": null,
  "time_amount": 1,
  "time_unit": "DAYS"
}]'

有没有办法替换所有换行符,使我变成一行字符串


Tags: 字符串name命令trueobjecttimeisenabled
2条回答

这不是有效的python字符串:

'[{
  "action": "DELETE",
  "is_enabled": true,
  "name": "qe_ta_rule_kYKco6_ObjectLifecyclePolicy",
  "object_name_filter": null,
  "time_amount": 1,
  "time_unit": "DAYS"
}]'

多行字符串应类似于:

'[{ \
  "action": "DELETE", \
  "is_enabled": true, \
  "name": "qe_ta_rule_kYKco6_ObjectLifecyclePolicy", \
  "object_name_filter": null, \
  "time_amount": 1, \
  "time_unit": "DAYS" \
}]'

如果这是来自网络,那么它可能是这样的:'[{ \n "action": "DELETE", \n ...'

无论哪种方式,您都将替换像your_str.replace('\n', '')这样的新行

您可以使用jq来实现这一点:

源JSON:

[
  {"empid": "1", "empname": "E1", "empsal": "100"},
  {"empid": "2", "empname": "E2", "empsal": "200"},
  {"empid": "3", "empname": "E3", "empsal": "300"}
]

转变:

cat source.json | jq -c '.[]' > target.json

目标JSON:

{"empid":"1","empname":"E1","empsal":"100"}
{"empid":"2","empname":"E2","empsal":"200"}
{"empid":"3","empname":"E3","empsal":"300"}

相关问题 更多 >