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

问题描述

我尝试了很多方法,但不确定为什么会出现此错误。这是我在 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",] } ] '''