Frage

Ich bin der Umsetzung einer Daten Google Quelle mit ihren Python-Bibliothek . Ich mag die Antwort aus der Bibliothek der Lage sein, in einem anderen Python-Skript importiert werden, um die simplejson Bibliothek.

Aber auch ihre Beispiel rel="nofollow nicht in JSONLint nicht bestätigen:

{cols:
    [{id:'name',label:'Name',type:'string'},
     {id:'salary',label:'Salary',type:'number'},
     {id:'full_time',label:'Full Time Employee',type:'boolean'}],
rows:
    [{c:[{v:'Jim'},{v:800,f:'$800'},{v:false}]},
     {c:[{v:'Bob'},{v:7000,f:'$7,000'},{v:true}]},
     {c:[{v:'Mike'},{v:10000,f:'$10,000'},{v:true}]},
     {c:[{v:'Alice'},{v:12500,f:'$12,500'},{v:true}]}]}

Wie optimiere ich die simplejson ‚Lasten‘ -Funktion den oben JSON Inhalt zu importieren? Ich denke, das Hauptproblem ist, dass die Objektschlüssel sind keine Strings.

Ich möchte nicht einen regulären Ausdruck schreiben die Schlüssel in Strings zu konvertieren, da ich einen solchen Code denken wäre ärgerlich zu halten.

Ich bin derzeit immer einen „Erwartung Eigenschaftsname: Zeile 1, Spalte 1 (char 1).“ Fehler beim Versuch, die oben JSON in Python mit simplejson zu importieren

War es hilfreich?

Lösung

Es wird als ungültig betrachtet JSON ohne den String-Schlüssel zu sein.

{id:'name',label:'Name',type:'string'}

muss sein:

{'id':'name','label':'Name','type':'string'}

Nach dem Google-Datenquelle Seite, sie sind Rückkehr ungültig JSON. Sie haben nicht speziell sagen, aber alle ihre Beispiele fehlen Zitate auf den Tasten.

Dies ist eine ziemlich vollständige Liste der JSON-Prozessoren für Python die ins Detail geht über welche Formate sie unterstützen, und wie gut. Die meisten unterstützen keine nicht-String-Schlüssel, , aber es scheint, dass demjson konvertiert es.

easy_install demjson
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top