为何JSON无法解析?新手如何实现Lingvolive API调用?
问题原因
- API端点错误:你当前使用的
https://developers.lingvolive.com/是平台官网首页,返回的是HTML页面,不是API的JSON响应,调用response.json()必然触发解析失败。 - 缺少API版本路径:Lingvolive的功能接口都需指定具体版本路径,比如翻译类接口统一在
/api/v1/下。
正确实现代码
使用Lingvolive的Minicard接口(快速获取单词翻译结果),修正后的代码如下:
import requests # 替换为正确的API端点 api_endpoint = "https://developers.lingvolive.com/api/v1/Minicard" # 请求参数保持不变(英语转俄语) request_params = { 'text': 'cat', 'srcLang': '1033', 'dstLang': '1049' } # 授权头,确保Token有效 request_headers = { 'Authorization': 'Bearer ZXlKaGJHY2lPaUpJVXpJMU5pSXNJblI1Y0NJNklrcFhWQ0o5LmV5SmxlSEFpT2pFMk56RXdNek14TURRc0lrMXZaR1ZzSWpwN0lrTm9ZWEpoWTNSbGNuTlFaWEpFWVhraU9qVXdNREF3TENKVmMyVnlTV1FpT2pjek1ERXNJbFZ1YVhGMVpVbGtJam9pT0RkaU1UazJNekF0TldNMFppMDBNREZqTFRrMk1EQXRObVk1Wm1JeFlqVXpObVkzSW4xOS5aekJvM3oyWmUycGRJVkRMbjE0ZFJIdlVaWEQybFhJLW9RTmFPanJneV9V' } try: response = requests.get(api_endpoint, params=request_params, headers=request_headers) response.raise_for_status() # 抛出HTTP状态码错误(比如401无效Token) translation_result = response.json() print(translation_result) except requests.exceptions.JSONDecodeError: print("解析失败:响应不是JSON格式,请检查API端点") print("原始响应内容:", response.text) except requests.exceptions.HTTPError as err: print(f"请求失败:{err}")
额外注意事项
- 如果需要获取完整的词典释义,可替换端点为
https://developers.lingvolive.com/api/v1/Translation,参数格式一致。 - 确保你的Bearer Token有效且未过期,无效Token会返回401 Unauthorized错误,需重新在Lingvolive开发者平台生成。
内容的提问来源于stack exchange,提问作者InteresnoReshenie
相关产品推荐
相关产品推荐

