Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 获取错误JSONDecodeError:应为'';从API导入时使用分隔符_Java_Python_Json_Api - Fatal编程技术网

Java 获取错误JSONDecodeError:应为'';从API导入时使用分隔符

Java 获取错误JSONDecodeError:应为'';从API导入时使用分隔符,java,python,json,api,Java,Python,Json,Api,我正试图解析来自API的响应数据,但一直出现此错误 这是我的代码: import requests import json url = "https://ratings.food.gov.uk/OpenDataFiles/FHRS776en-GB.json" r = requests.get(url) json_data = r.json() 这就是错误所在 File "/usr/local/lib/python3.8/site-packages/reques

我正试图解析来自API的响应数据,但一直出现此错误

这是我的代码:

import requests
import json

url = "https://ratings.food.gov.uk/OpenDataFiles/FHRS776en-GB.json"

r = requests.get(url)
json_data = r.json()
这就是错误所在

File "/usr/local/lib/python3.8/site-packages/requests/models.py", line 889, in json
   return complexjson.loads(
 File "/usr/local/Cellar/python@3.8/3.8.5/Frameworks/Python.framework/Versions/3.8/lib/python3.8/json/__init__.py", line 357, in loads
   return _default_decoder.decode(s)
 File "/usr/local/Cellar/python@3.8/3.8.5/Frameworks/Python.framework/Versions/3.8/lib/python3.8/json/decoder.py", line 337, in decode
   obj, end = self.raw_decode(s, idx=_w(s, 0).end())
 File "/usr/local/Cellar/python@3.8/3.8.5/Frameworks/Python.framework/Versions/3.8/lib/python3.8/json/decoder.py", line 353, in raw_decode
   obj, end = self.scan_once(s, idx)
json.decoder.JSONDecodeError: Expecting ',' delimiter: line 1 column 233384 (char 233383)
我已经确认这是一个有效的JSON,这是一个公共API,所以我无法控制格式。如何克服此错误?

您可以使用

import requests
import json

url = "https://ratings.food.gov.uk/OpenDataFiles/FHRS776en-GB.json"

r = requests.get(url)
json_data = json.loads(r.text)

问题不在于代码,而在于json


您可以验证json。第7669行和第7670行都缺少一个

是的,我刚刚意识到它不是真正的json。这是API的问题,而不是代码的问题。如果您访问Firefox中的api,它会告诉您同样的事情。从url返回的json中有一个错误-甚至Firefox也无法显示url,并在json数据的第1行第233384列的对象的属性值之后抱怨SyntaxError:json.parse:expected'、'或'}'