-1

我尝试了很多方法,但不确定为什么会出现这个错误。这是我在 SPYDER 上尝试的小脚本。请帮忙。

import json

myjson = '''
[
   "details":[
      {
         "MyTable":"NEWTABLE",
         "ReferTo":"Test"
      },
   ]
]
'''
data = json.loads(myjson)  

###  ABOVE LINE IS THROWING ERROR, --->  Expecting ',' delimiter

4

2 回答 2

1

数据结构不正确。它应该是字典列表或直接字典

前任:

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

或者

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

import ast
print(ast.literal_eval(myjson))
于 2021-05-09T05:09:49.643 回答
1

Python 列表无法识别key: value项目,因此结果是 json 尝试解码它所期望的字符串,,"details"它正在获取:并抛出JsonDecodeError.

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

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

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

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

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

于 2021-05-09T05:38:42.307 回答