【问题标题】:how to assign double quotes to json data - Python如何为json数据分配双引号 - Python
【发布时间】:2020-01-24 09:45:33
【问题描述】:

我有一个如下所示的 json。当我验证 json 时,我收到一个错误“无效的 Json”,因为我只有一个单引号,而且还有 u,我不知道它为什么在那里。

{u'domain': u'127.0.0.1', u'user_id': u'example.com', u'sender': u'shop_1'}

上面的 Json 无效。如何使 json 出现双引号,并从响应中删除 u 以获得有效的 json。

PS:Python 初学者

【问题讨论】:

  • 你如何创建那个 json?
  • 如果您展示的是您的 json 文件,只需将 u'' 替换为 "s。您可以在您选择的文本编辑器中执行此操作,甚至可以在 python 中执行此操作,在加载之前,运行 text.replace("u'", '"').replace("'", '"')
  • 这是一个 Python 对象(保存为字符串?!),它不是有效的 JSON。
  • json.dumps() 返回 python dict 的 JSON 字符串表示。 docs.python.org/2/library/json.html#json.dumps
  • 顺便说一句,你还在用 Python2;你应该切换到 Python3,它已经存在了十年或更长时间。字符串文字前面的 u 将其标记为 unicode 字符串(在 Python3 中这是普通字符串,但在 Python2 中不是)。

标签: python json


【解决方案1】:

您可以为此使用json.dumps()

>>> import json
>>> my_json = {u'domain': u'127.0.0.1', u'user_id': u'example.com', u'sender': u'shop_1'}
>>> print(json.dumps(my_json))
{"domain": "127.0.0.1", "user_id": "example.com", "sender": "shop_1"}

您在每个字符串开头看到的'u 表明这是一个 unicode 字符串:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-10-11
    • 2020-06-28
    • 2019-04-02
    • 2018-05-19
    • 2011-11-16
    • 2020-03-05
    • 2021-11-23
    • 1970-01-01
    相关资源
    最近更新 更多