python - 使用 'u' 作为 json 加载 python 字符串

标签 python json python-2.7 unicode

我在下面的字符串中有一个字符串

json_string = '{u"favorited": false, u"contributors": null}'
json_string1 = '{"favorited": false, "contributors": null}'

以下 json 加载工作正常。

json.loads(json_string1 )

但是,以下 json 加载给我值错误,如何解决这个问题?

json.loads(json_string)
ValueError: Expecting property name: line 1 column 2 (char 1)

最佳答案

我从客户那里收到的字符串也遇到了同样的问题。琴弦和你一起到达。我找到了使用 ast 包的解决方法:

import ast
import json

my_str='{u"favorited": false, u"contributors": null}'
my_str=my_str.replace('"',"'")
my_str=my_str.replace(': false',': False')
my_str=my_str.replace(': null',': None')
my_str = ast.literal_eval(my_str)
my_dumps=json.dumps(my_str)
my_json=json.loads(my_dumps)

请注意将“false”和“null”替换为“False”和“None”,因为literal_eval仅识别特定类型的Python文字结构。这意味着您的代码是否需要更多替换 - 取决于您收到的字符串。

关于python - 使用 'u' 作为 json 加载 python 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34764979/

相关文章:

用于将 CSV 转换为 JSON 的 Ruby 脚本

google-app-engine - 删除孤立的 Blobstore

python - 使用 pip 将 Python 库安装到 macOS 默认 Python (2.7.10)

python - 导入错误 : DLL load failed(import h5py)

python - 删除字符串中的重复 block

python - websocket 和 websocket-client,如何同时使用?

python - 如何区分 bool 和 z3 表达式?

python - 如何使用Python的re模块将 '1:2:3'归一化为 '01:02:03'?

javascript - 错误 : JSON. 解析:来自 Json 的 JSON 数据的第 1 行第 1 列出现意外字符

json - nodejs JSON.parse(data_from_TCP_socket)