【问题标题】:invalid \escape line when using json.loads()使用 json.loads() 时无效的 \escape 行
【发布时间】:2021-08-18 16:08:18
【问题描述】:

我正在尝试将字符串转换为 json 格式。 但是,我遇到了一个错误 - 无效 /escape 行

a = "[{"data":"APPLE FUJI\O7P","group":"fruits","price":"3.0"},{"data":"ORANGE","group":"fruits","price":"2.0"}]"

json_a = json.loads(a, strict=False)

“APPLE FUJI\O7P”为有效数据,仅以水果为例。

由于数据验证问题,我无法添加额外的反斜杠或用另一个字符替换反斜杠。

关于如何通过忽略“”将字符串转换为 json 格式的任何替代解决方案。 任何帮助表示赞赏。 谢谢!

【问题讨论】:

  • json.loads() 需要 str 类型对象,并且您正在传递一个列表。显示您的输入和预期输出。
  • 嗨@Hamzausmanghani,更新了qn。 a 应该是一个字符串。添加了双引号。

标签: json python-3.x pandas dataframe api


【解决方案1】:

如果您可以使用单引号来定义a,这对您有用吗?使用eval...

a = '[{"data":"APPLE FUJI\O7P","group":"fruits","price":"3.0"},{"data":"ORANGE","group":"fruits","price":"2.0"}]'
newa = eval(a)
j = json.loads(json.dumps(newa))
for itm in j:
    # print(itm)
    print(itm['data'])
    print(itm['group'])
    print(itm['price'])

输出

APPLE FUJI\O7P
fruits
3.0
ORANGE
fruits
2.0

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-06-12
    • 1970-01-01
    • 1970-01-01
    • 2014-04-19
    • 1970-01-01
    • 2020-05-05
    • 2021-04-30
    • 1970-01-01
    相关资源
    最近更新 更多