Wie behebe ich einen "JSONDecodeError: Keine JSON-Objekt dekodiert werden konnte: Zeile 1, Spalte 0 (char, 0)"?
Ich versuche, Twitter-API-Suchergebnisse für ein bestimmtes hashtag mit Python, aber ich habe Schwierigkeiten mit dieser "No JSON-Objekt dekodiert werden konnte" - Fehler. Ich hatte, um die extra % auf das Ende der URL zu verhindern, dass ein string-Formatierung Fehler. Könnte das JSON-Fehler im Zusammenhang mit dem extra -%, oder wird es durch etwas anderes verursacht? Anregungen wäre sehr geschätzt werden.
Ein snippet:
import simplejson
import urllib2
def search_twitter(quoted_search_term):
url = "http://search.twitter.com/search.json?callback=twitterSearch&q=%%23%s" % quoted_search_term
f = urllib2.urlopen(url)
json = simplejson.load(f)
return json
- Was ist der eigentliche Inhalt der Antwort? Mit Ihrem code können Sie finden, dass mit so etwas wie
content = f.read()
. - Ich habe Ihren code benutzt und versucht, drucken von Inhalt bekam aber die gleiche Fehlermeldung: JSONDecodeError: Keine JSON-Objekt dekodiert werden konnte: Zeile 1, Spalte 0 (char 0) - Funktion pull_tweets in twitter_puller_1.py in Zeile 28 data1 = search_twitter(Abfrage1) - Funktion search_twitter in twitter_puller_1.py in Zeile 14 json = simplejson.Last(f) - Funktion laden von untitled in Zeile 328 Keine Funktion lädt in "untitled" in Zeile 384 Keine Funktion decode in "untitled" in Zeile 402 obj, Ende = self.raw_decode(s, idx=_w(s, 0).end ()) - Funktion raw_decode in "untitled" in Zeile 420 erhöhen JSONDecodeError("No JSON-Objekt dekodiert werden konnte", s, idx)
- Sehen blcArmadillo Antwort. Sie müssen entfernen Sie die
callback
argument aus Ihre Anfrage an Twitter. So etwas wieurl = "http://search.twitter.com/search.json?q=%s" % quoted_search_term
funktionieren sollte.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gab es ein paar Probleme mit dem ersten code. Zuerst haben Sie nie gelesen, in der Inhalte aus twitter, öffnete die nur url. Zweite in der url setzen Sie eine callback - (twitterSearch). Was für ein zurück rufen tut, ist, wickeln Sie die zurückgegebenen json in eine Funktion aufrufen, also in diesem Fall wäre es gewesen, twitterSearch(). Dies ist nützlich, wenn Sie möchten, eine spezielle Funktion zur Verarbeitung der zurückgegebenen Ergebnisse.
callback
argument, die Ursachen Twitter zurückJSONP
, die können nicht analysiert werden, wie JSON. But the code for reading the JSON was fine (it just passed the file-like object
f` direkt an densimplejson.load()
- Funktion, die nimmt Datei-like objects).