Ich implementiere eine Google-Datenquelle mit ihrer Python Library. Ich mag die Antwort aus der Bibliothek der Lage sein, in einem anderen Python-Skript importiert werden, um die jedoch simplejson library.Google Datenquelle JSON nicht gültig?
mit, auch ihre example nicht überprüft in JSONLint:
{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 'loads' Funktion um den obigen JSON zu importieren? Ich denke, das Hauptproblem besteht darin, dass die Objektschlüssel keine Zeichenfolgen sind.
Ich würde lieber keine Regex schreiben, um die Schlüssel in Strings zu konvertieren, da ich denke, dass ein solcher Code lästig wäre zu warten.
Ich erhalte zur Zeit einen "Expecting property name: Zeile 1 Spalte 1 (char 1)" Fehler beim Versuch, die oben genannten Json in Python mit Simplejson zu importieren.
JSON erwartet Strings als Schlüssel, nicht Python Wörterbücher zum Beispiel {1: 1, 2: 4} ist ein gültiger Python-Wörterbuch, aber es ist ein ungültiger JSON. '{id: 1}' und '{" id ": 1}' ist ein gültiges Javascript. – jfs
Um klar zu sein, meinte ich, dass das gezeigte Beispiel kein gültiges Python-Wörterbuch ist. Indexnummern sind zulässig, aber alle Namen müssen Zeichenfolgen sein. {id: 1} ist gültiges Javascript, aber ungültiges Python. – Soviut