问题描述
我尝试了很多方法,但不确定为什么会出现此错误。这是我在 SPYDER 上尝试的小脚本。 请帮忙。
import json
myjson = '''
[
"details":[
{
"MyTable":"NEWTABLE","ReferTo":"Test"
},]
]
'''
data = json.loads(myjson)
### ABOVE LINE IS THROWING ERROR,---> Expecting ',' delimiter
解决方法
数据结构不正确。它应该是一个字典列表或一个直接字典
例如:
myjson = '''{
"details":[
{
"MyTable":"NEWTABLE","ReferTo":"Test"
},]
}'''
或
myjson = '''[
{
"details":[
{
"MyTable":"NEWTABLE","ReferTo":"Test"
},]}
]'''
import ast
print(ast.literal_eval(myjson))
,
Python 列表无法识别 key: value
项,因此结果是当 json 尝试在 ,
之后解码它期望的字符串 "details"
但它得到 :
而是抛出 { {1}}。
所以要么你应该使用括号 JsonDecodeError
而不是括号 {}
:
[]
或者如果你想使用列表,你应该将你的内部项目包装到字典中:
myjson = '''
{
"details":[
{
"MyTable":"NEWTABLE",]
}
'''
那么您就可以轻松使用 myjson = '''
[
{
"details":[
{
"MyTable":"NEWTABLE",]
}
]
'''