Wdrażam źródło danych Google przy użyciu ich numeru Python Library. Chciałbym odpowiedź z biblioteki, aby móc być importowane w inny skrypt Pythona pomocą simplejson library.Źródło danych Google JSON jest nieprawidłowe?
Jednak nawet ich example nie sprawdza w 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}]}]}
Jak mogę podkręcić simplejson "ładuje" funkcję do importowania powyższego JSON? Myślę, że głównym problemem jest to, że klucze obiektu nie są ciągami.
Wolałbym nie pisać wyrażeń regularnych, aby przekonwertować klucze na ciągi znaków, ponieważ myślę, że taki kod byłby denerwujący w utrzymaniu.
Obecnie otrzymuję błąd "Oczekiwanie nazwa właściwości: wiersz 1 kolumna 1 (znak 1)" podczas próby zaimportowania powyższego json do python z simplejson.
JSON oczekuje łańcuchy jak klucze, a nie na przykład słowniki pyton {1: 1, 2: 4} jest ważne słowniku pyton ale jest nieważny JSON. '{id: 1}' i '{" id ": 1}' to poprawny skrypt JavaScript. – jfs
Aby było jasne, miałem na myśli, że pokazany przykład nie jest prawidłowym słownikiem Pythona. Numery indeksów są dozwolone, ale wszelkie nazwy muszą być ciągami. {id: 1} to poprawny skrypt JavaScript, ale niepoprawny język Python. – Soviut