Ich möchte JSON-ähnliche Strings parsen. Ihr einziger Unterschied zu normalem JSON ist das Vorhandensein von zusammenhängenden Kommas in Arrays. Wenn zwei solche Kommas vorhanden sind, bedeutet dies implizit, dass null
dazwischen eingefügt werden soll. Beispiel:Python: JSON-artige JavaScript-Datenstrukturen analysieren (mit aufeinanderfolgenden Kommas)
JSON-like: ["foo",,,"bar",[1,,3,4]]
Javascript: ["foo",null,null,"bar",[1,null,3,4]]
Decoded (Python): ["foo", None, None, "bar", [1, None, 3, 4]]
Die native json.JSONDecoder
Klasse erlaubt mir nicht, das Verhalten der Array-Analyse zu ändern. Ich kann den Parser nur für Objekte (dicts), Ints, Floats, Strings ändern (indem ich Kwargs-Funktionen an JSONDecoder()
gebe, siehe the doc).
Also, heißt es, ich muss einen JSON-Parser von Grund auf neu schreiben? Der Python-Code von json
ist verfügbar, aber es ist ziemlich durcheinander. Ich würde es vorziehen, seine Interna zu verwenden, anstatt seinen Code zu kopieren!
Überprüfen Sie meine Frage, um zu sehen, wie ich es habe gelöst und folgen Sie es für schnellere Wege: http://stackoverflow.com/questions/17901156/fastest-way-to-convert-javascript-object-array- to-python-dict-list? noredirect = 1 # comment26148131_17901156 –