亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 Python3 和 jinja2 從嵌套 Json 響應中獲取信息

使用 Python3 和 jinja2 從嵌套 Json 響應中獲取信息

慕尼黑的夜晚無繁華 2023-10-11 20:00:06
我正在尋求使用 python 迭代一些 JSON 的幫助。目前我有一個函數,它轉到一個 JSON API 的 URL,獲取 JSON 并將結果呈現到 results.html 中。在 results.html 中,我使用 jinja2 和 for 循環來獲取一些信息。我可以獲得的是來自 _id 和文本的信息,但是我想要做的是從用戶部分獲取信息(請參閱下面的 JSON 示例)。[email protected]("/results/")def results():catfactsURl = "https://cat-fact.herokuapp.com/facts/"webUrl = urllib.request.urlopen(catfactsURl)if(webUrl.getcode() == 200):    data = json.loads(webUrl.read())    return render_template("results.html", data=data['all'], title="Results")else:    print("Received error, cannot parse results")結果.html{% extends 'layout.html' %}{% block title %}{{title}}{% endblock %}{% block content %}<div>   {% for datas in data %}   <span>{{ datas['_id'] }}</span>   <p>{{ datas['text'] }} </p>   <p>{{ datas['user'] }}</p>   {% endfor %}</div>{% 末端嵌段含量 %}JSON 響應示例"all": [{  "_id": "58e0088b0aac31001185ed09",  "text": "The world's largest cat measured 48.5 inches long.",  "type": "cat",  "user": {    "_id": "58e007480aac31001185ecef",    "name": {      "first": "Kasimir",      "last": "Schulz"    }  },  "upvotes": 7,  "userUpvoted": null},
查看完整描述

1 回答

?
料青山看我應如是

TA貢獻1772條經驗 獲得超8個贊

該數據源在其中一個條目 (58e008450aac31001185ecfd) 中缺少“用戶”鍵。通過首先檢查用戶密鑰是否存在來解決這個問題。


<div>

{% for datas in data %}

    <span>{{ datas['_id'] }}</span>

    <p>{{ datas['text'] }} </p>

    {% if 'user' in datas.keys() %}

        <p>{{ datas['user']['name']['first'] }} {{ datas['user']['name']['last'] }}</p>

    {% endif %}

{% endfor %}

</div>


查看完整回答
反對 回復 2023-10-11
  • 1 回答
  • 0 關注
  • 215 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號