Я использую источник данных Google, используя их Python Library. Я хотел бы ответ из библиотеки, чтобы иметь возможность импортировать в другой сценарий Python с использованием simplejson library.Источник данных Google JSON недействителен?
Однако даже их example не проверяет в 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}]}]}
Как настроить simplejson Функция «загрузки» для импорта вышеуказанного JSON? Я думаю, что основная проблема заключается в том, что ключи объекта не являются строками.
Я бы предпочел не писать регулярное выражение для преобразования ключей в строки, так как я думаю, что такой код будет раздражать для поддержания.
В настоящее время я получаю сообщение об ожидании имени объекта: строка 1 столбец 1 (char 1) "при попытке импортировать вышеупомянутый json в python с помощью simplejson.
JSON ожидает строки как ключи, а не Python словари, например, {1: 1, 2: 4} является допустимым словарь Python, но это неверный JSON. '{id: 1}' и '{" id ": 1}' является допустимым Javascript. – jfs
Чтобы быть ясным, я имел в виду, что показанный пример не является допустимым словарем python. Номера индексов являются законными, но любые имена должны быть строками. {id: 1} является действительным Javascript, но недействительным Python. – Soviut