Estoy implementando una fuente de datos de Google usando su Python Library. Me gustaría que la respuesta de la biblioteca para poder ser importado en otro script Python usando el simplejson library.Google Data Source JSON no es válido?
Sin embargo, incluso su example no valida en 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}]}]}
¿Cómo ajustar el simplejson función 'cargas' para importar el JSON anterior Creo que el problema principal es que las claves del objeto no son cadenas.
Preferiría no escribir una expresión regular para convertir las claves en cadenas ya que creo que sería molesto mantener ese código.
Actualmente recibo un error "Esperando nombre de la propiedad: línea 1 columna 1 (char 1)" al intentar importar el json anterior a python con simplejson.
JSON espera cadenas como claves, no pitón diccionarios, por ejemplo, {1: 1, 2: 4} es un diccionario de Python válida pero es un JSON válido. '{id: 1}' y '{" id ": 1}' es un Javascript válido. – jfs
Para ser claro, quise decir que el ejemplo que se muestra no es un diccionario de Python válido. Los números de índice son legales, pero los nombres deben ser cadenas. {id: 1} es JavaScript válido pero Python no válido. – Soviut