使用JokeAPI开发笑话生成器时终端返回空内容的问题求助
解决笑话生成器输出为空的问题
核心错误原因
你错误地将API返回的JSON字符串当作列表通过索引取值(devjokes_data[3]、devjokes_data[4])。JokeAPI返回的是结构化的JSON数据,必须先解析为Python字典才能正确提取setup和punchline字段。
修正后的代码
import requests print("Welcome to Jokes Generator") # 用.json()直接解析返回的JSON数据为字典 devjokes_data = requests.get("https://v2.jokeapi.dev/joke/Any?blacklistFlags=nsfw,religious,sexist&type=twopart").json() # 通过键名提取笑话的铺垫和包袱 setup = devjokes_data["setup"] punchline = devjokes_data["punchline"] print(setup) print(punchline)
原代码问题详解
原代码中使用.text获取的是JSON格式的字符串(例如{"type":"twopart","setup":"Why don't scientists trust atoms?","punchline":"Because they make up everything!"}),此时devjokes_data[3]只是字符串中的第4个字符(比如示例里的"t"),替换引号后自然为空或无效内容,导致终端输出空白。
内容的提问来源于stack exchange,提问作者Bùi Hoàng
相关产品推荐
相关产品推荐

