Sonntag, Dezember 15, 2019

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 wie url = "http://search.twitter.com/search.json?q=%s" % quoted_search_term funktionieren sollte.
InformationsquelleAutor user374372 | 2010-07-30

1 Kommentar

  1. 8

    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.

    import simplejson
    import urllib2
    
    def search_twitter(quoted_search_term): 
        url = "http://search.twitter.com/search.json?&q=%%23%s" % quoted_search_term
        f = urllib2.urlopen(url)
        content = f.read()
        json = simplejson.loads(content)
        return json
    • Du bist halb rechts. Das eigentliche problem war die callback argument, die Ursachen Twitter zurück JSONP, 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 den simplejson.load() – Funktion, die nimmt Datei-like objects).
    • Ahh, guter Punkt!
    • Vielen Dank für das erklären mir, blcArmadillo und McCutchen! Es funktioniert jetzt 🙂

Kostenlose Online-Tests

Letzte Fragen

Tun ItemView löst Blase?

Ich habe eine CompositeView für eine Tabelle. Ich habe Trigger-set in der Kind-ItemView für jede Zeile... var TableRow = Marionette.ItemView.extend({ tagName:...

Wie kann ich untersuchen, WCF was 400 bad request über GET?

Die folgenden WCF-endpoint funktioniert gut mit dem WCF test client: AssetList ListFlaggedAssets(short processCode, string platform, string endpoint = "null", string portalId = "null", int...

Bei der Verwendung von UUIDs, sollte ich auch mit AUTO_INCREMENT?

Wir bauen eine neue web-app, die eine offline-iPad - /Android-app-version auf einer Reihe von lokalen Geräten, die Einsätze mit neuen Daten. Als solche benötigen...

Actionscript-Objekt, das verschiedene Eigenschaften

Wie kann ich die Anzahl der Eigenschaften in einer generischen Actionscript-Objekt? (Wie die Array-Länge) InformationsquelleAutor Fragsworth | 2011-01-15

Wie plot mehrere Graphen und nutzen Sie die Navigations-Taste im [matplotlib]

Die neueste version von matplotlib erstellt automatisch Navigations-buttons unter den graph. Aber die Beispiele, die ich finden alles im Internet zeigen, wie erstellen Sie...