Python 3.x 将内容类型Text/HTML从API转换为JSON

Python 3.x 将内容类型Text/HTML从API转换为JSON,python-3.x,Python 3.x,我正在尝试从GetBible.net API中提取数据。查看标题时,内容类型为text/html。我想把它转换成JSON 我在StackOverflow上尝试了所有的方法,包括编码、解码、解析、解压缩,但都没有效果 import requests import json def bible_app(): response = requests.get("http://getbible.net/json?passage=Jn3:16").json() print(response

我正在尝试从GetBible.net API中提取数据。查看标题时,内容类型为
text/html
。我想把它转换成JSON

我在StackOverflow上尝试了所有的方法,包括编码、解码、解析、解压缩,但都没有效果

import requests
import json

def bible_app():
    response = requests.get("http://getbible.net/json?passage=Jn3:16").json()
    print(response)

bible_app()
无论我做什么都会出错:

json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

嗯,与文档所说的相反,该URL返回的响应不是有效的JSON。根据需要,您应该将
&raw=true
附加到URL以获得正确的JSON响应:

response = requests.get("http://getbible.net/json?passage=Jn3:16&raw=true").json()

不,这个参数是特定于该站点的实现的(我发现它非常混乱)。通常情况下,API默认返回有效的JSON。因此它可以工作,但第一个键是“book”,值是一个巨大的列表“[{'book\u ref':'Jn','book\u name':'John','book\u nr':'43','chapter\u nr':'3','chapter':{'16':{'verse_nr':'16','verse':'因为上帝如此爱这个世界,他给了他的独生子,让任何相信他的人都不应该灭亡,而应该有永生。\r\n'}}}}}}}}“有没有办法把这改成一个口述,只需拉动“verse”?我想原因是可能有多本书。只需使用
response[“book”[0]
如果您只对第一个元素感兴趣。