У меня возникли проблемы с пониманием того, как работает jsonify
, хотя я просмотрел документацию. Как вы можете видеть ниже, я вызываю функцию lookup()
, которая возвращает словарь, а затем я пытаюсь его jsonify.Flask - правильно использовать jsonify
@app.route("/articles")
def articles():
a = lookup(33496)
return jsonify([link=a["link"], title = a["title"]]) #invalid syntax error
мой helpers.py
:
import feedparser
import urllib.parse
def lookup(geo):
"""Looks up articles for geo.""" #this function already parses the 'link' and 'title' form rss feed
# check cache for geo
if geo in lookup.cache:
return lookup.cache[geo]
# get feed from Google
feed = feedparser.parse("http://news.google.com/news?geo={}&output=rss".format(urllib.parse.quote(geo, safe="")))
# if no items in feed, get feed from Onion
if not feed["items"]:
feed = feedparser.parse("http://www.theonion.com/feeds/rss")
# cache results
lookup.cache[geo] = [{"link": item["link"], "title": item["title"]} for item in feed["items"]]
# return results
return lookup.cache[geo]
# initialize cache
lookup.cache = {}
ошибка, что я получаю от неправильного синтаксиса. Любая идея в том, что я делаю неправильно? Спасибо
Какова цель jsonify тогда, если вам нужно явно сделать преобразование в json? – tadm123
Yea @Jari, проблема в том, что я уже отредактировал его так, как вы указали с помощью 'jsonify()', но я получаю некоторые синтаксические ошибки. – tadm123
Теперь я попытался использовать ваш первый пример, и я тоже получаю ошибки. Hmm – tadm123