Python Json 错误,需要逗号分隔符

Python Json Error , Expectiing comma delimitter

我尝试了很多方法,但不确定为什么会出现此错误。这是我在 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" 之后解码它期望 , 的字符串,但它是获取 : 并抛出 JsonDecodeError.

所以要么你应该使用大括号 {} 而不是方括号 []:

myjson = '''
{
    "details":[
        {
            "MyTable":"NEWTABLE",
            "ReferTo":"Test"
        },
    ]
}
'''

或者如果你想使用列表,你应该将你的内部项目包装到字典中:

myjson = '''
[
  {
    "details":[
        {
            "MyTable":"NEWTABLE",
            "ReferTo":"Test"
        },
    ]
  }
]
'''

那么你就可以轻松使用json.loads(myjson)