Python-为什么Python无法解析此JSON数据?

我在文件中有此JSON

{

"maps": [

{

"id": "blabla",

"iscategorical": "0"

},

{

"id": "blabla",

"iscategorical": "0"

}

],

"masks": [

"id": "valore"

],

"om_points": "value",

"parameters": [

"id": "valore"

]

}

我编写了以下脚本来打印所有JSON数据:

import json

from pprint import pprint

with open('data.json') as f:

data = json.load(f)

pprint(data)

但是,该程序会引发异常:

Traceback (most recent call last):

File "<pyshell#1>", line 5, in <module>

data = json.load(f)

File "/usr/lib/python3.5/json/__init__.py", line 319, in loads

return _default_decoder.decode(s)

File "/usr/lib/python3.5/json/decoder.py", line 339, in decode

obj, end = self.raw_decode(s, idx=_w(s, 0).end())

File "/usr/lib/python3.5/json/decoder.py", line 355, in raw_decode

obj, end = self.scan_once(s, idx)

json.decoder.JSONDecodeError: Expecting ',' delimiter: line 13 column 13 (char 213)

如何解析JSON并提取其值?

回答:

你的数据不是有效的JSON格式。你有[]什么时候应该拥有{}

  • []用于JSON数组,在Python中称为list
  • {}用于JSON对象,在Python中称为dict

JSON文件的外观如下:

{

"maps": [

{

"id": "blabla",

"iscategorical": "0"

},

{

"id": "blabla",

"iscategorical": "0"

}

],

"masks": {

"id": "valore"

},

"om_points": "value",

"parameters": {

"id": "valore"

}

}

然后,你可以使用你的代码:

import json

from pprint import pprint

with open('data.json') as f:

data = json.load(f)

pprint(data)

有了数据,你现在还可以找到类似的值:

data["maps"][0]["id"]

data["masks"]["id"]

data["om_points"]

试试看,看看是否有意义。

以上是 Python-为什么Python无法解析此JSON数据? 的全部内容, 来源链接: utcz.com/qa/427703.html

回到顶部