Ich habe einige Schwierigkeiten zu verstehen, wie jsonify
funktioniert, obwohl ich die Dokumentation durchging. Wie Sie unten sehen können, rufe ich die lookup()
Funktion auf, die ein Wörterbuch zurückgibt, dann versuche ich es zu jsonifizieren.Flask - Mit jsonify richtig
@app.route("/articles")
def articles():
a = lookup(33496)
return jsonify([link=a["link"], title = a["title"]]) #invalid syntax error
mein 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 = {}
Der Fehler, den ich habe, ist der ungültigen Syntax bekommen. Irgendeine Idee in was ich falsch mache? Danke
was ist der Zweck von jsonify dann, wenn Sie explizit die Konvertierung zu Json tun müssen? – tadm123
Yea @Jari, das Problem ist, dass ich es bereits so bearbeitet habe, wie Sie mit 'jsonify()' darauf hingewiesen haben, aber ich bekomme einige Syntaxfehler. – tadm123
Ich habe jetzt versucht, mit Ihrem ersten Beispiel, und ich bekomme die Fehler auch. Hmm – tadm123