【发布时间】:2017-02-24 20:37:23
【问题描述】:
我想解析 JSON 格式的 bytes 字符串以将其转换为 python 对象。这是我的来源:
my_bytes_value = b'[{\'Date\': \'2016-05-21T21:35:40Z\', \'CreationDate\': \'2012-05-05\', \'LogoType\': \'png\', \'Ref\': 164611595, \'Classe\': [\'Email addresses\', \'Passwords\'],\'Link\':\'http://some_link.com\'}]'
这是我想要的结果:
[{
"Date": "2016-05-21T21:35:40Z",
"CreationDate": "2012-05-05",
"LogoType": "png",
"Ref": 164611595,
"Classes": [
"Email addresses",
"Passwords"
],
"Link": "http://some_link.com"}]
首先,我将字节转换为字符串:
my_new_string_value = my_bytes_value.decode("utf-8")
但是当我尝试调用 loads 将其解析为 JSON 时:
my_json = json.loads(my_new_string_value)
我收到此错误:
json.decoder.JSONDecodeError: Expecting value: line 1 column 174 (char 173)
【问题讨论】:
-
第一件事。字节到字符串,然后字符串到 JSON
-
我已使用
.decode("utf-8")将字节转换为字符串,但是当我尝试将字符串转换为 JOSN 时出现此错误 json.decoder.JSONDecodeError: Expecting value:line 1 column 174 (char 173) -
你能用相关代码更新你的问题并打印出解码后的字符串吗?
-
还有,你从哪里得到这个 json?
-
@MerouaneBenthameur 失败的原因是您拥有的字符串不是 JSON。最明显的是JSON使用
",而不是'。