【发布时间】:2020-03-12 02:46:45
【问题描述】:
我有如下的 json 文件并尝试转换为 python 字典但出现错误
{
"response": {
"dev_log": {
"data": [
{
"id": "1",
"timestamp": "2020-01-16 10:11:12",
"email": "johnd@gmail.com"
},
{
"id": "2",
"timestamp": "2020-02-27 15:33:34",
"email": "zack@gmail.com"
},
{
"id": "3",
"timestamp": "2020-02-27 15:34:07",
"email": "edy@yahoo.com"
}
],
"total_dev_log": "1423"
},
"client_log": {
"data": [
{
"customer_city": "LONDON",
"customer_login": "AAAAAAAAAAAAAA",
"customer_state": "MC",
"details": "aaaaaaaaaaa-bbbbbbbbbbbbbbb-cccccccccccccc ",
"log_number": "1",
"dept": "Sales",
"staff_id": "S123",
"staff_name": "EricY",
"timestamp": "2020-02-27 15:57:24"
},
{
"customer_city": "SINGAPORE",
"customer_login": "BBBBBBBBBBBBB",
"customer_state": "XX",
"details": "ddddddddd-eeeeeeeeeeee-ffffffffffff ",
"log_number": "1",
"dept": "Eng",
"staff_id": "S456",
"staff_name": "YongG",
"timestamp": "2020-02-27 15:57:24"
}
],
"total_hero_query": "13"
},
"response_time": "0.723494",
"transaction_id": "909122",
"transaction_status": "OK",
"transaction_time": "Fri Feb 28 15:27:51 2020"
}
}
我可以通过http://jsonviewer.stack.hu 将其视为有效的 json。我相信它是一种有效的 json 字符串格式。
Normallay 我只是使用下面的代码来读取 json 文件并将其转换为 dict 但我得到了错误。
with open('datfile.json', 'r') as f:
datDict = json.load(f)
错误
Traceback (most recent call last):
File "strg2dict.py", line 4, in <module>
json_dict = json.load(JSON)
File "/usr/lib/python2.7/json/__init__.py", line 291, in load
**kw)
File "/usr/lib/python2.7/json/__init__.py", line 339, in loads
return _default_decoder.decode(s)
File "/usr/lib/python2.7/json/decoder.py", line 364, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/lib/python2.7/json/decoder.py", line 380, in raw_decode
obj, end = self.scan_once(s, idx)
ValueError: Expecting property name: line 22 column 5 (char 466)
我检查了其他解决方案,但仍然无法找到解决方案。请进一步告知。谢谢
@@@@@@@@@@@@@@@@@@@@@@@@@@@ 有逗号 "total_dev_log": "1423",
===> 去掉逗号 “total_dev_log”:“1423”
已解决>谢谢
【问题讨论】:
-
那不是有效的 json。您在第 21 行有一个尾随逗号:
"total_dev_log": "1423",。 -
异常已经告诉你错误的地方了:
line 22 column 5 (char 466). -
jsonviewer.stack.hu 过于宽松。使用jsonlint.com,报错。
-
我已经检查了上面所说的行...我的错误...谢谢您先生...jsonviewer.stack 没有检测到错误
标签: python json list dictionary