Я пытаюсь написать файл JSON для highcharts-convert/phantomJS динамически с помощью python. У меня есть действительный original.json, который работает. Когда я использую эту простую программу, чтобы привести ее с помощью json.load, а затем json.dump его в data.json - data.json генерирует ошибку!JSON для высокой диаграммы, импортированной с json.load сгенерированной ошибкой при использовании json.dump
import json
with open('orignal.json') as data_file:
data = json.load(data_file)
with open('data.json', 'w') as outfile:
json.dump(data, outfile, indent=4, separators=(',',':'), ensure_ascii=True)
Вот ошибки я получаю, когда phantomjs/Highcharts-convert.js читает:
SyntaxError: Unexpected token ':'
TRACE:
-> phantomjs://code/data.js: 2 (in function "injectJs")
-> phantomjs://code/highcharts-convert.js: 637 (in function "injectResources")
-> phantomjs://code/highcharts-convert.js: 808
-> phantomjs://platform/webpage.js: 286 (in function "_onPageOpenFinished")
phantomjs://code/highcharts-convert.js:723 in onError
Exited with message 'ERROR: SyntaxError: Unexpected token ':''
Вот является original.json: http://pastebin.com/fAXtmHTc
и вот json.dump data.json: http://pastebin.com/mXjeNYug Что пошло не так? Помимо заказа, они кажутся одинаковыми!
Я спас «плохой» JSON на диск, прочитать его в phantomjs 2.1.1 с помощью fs.read и JSON.parse разобраны без ошибок. – snakecharmerb
@snakecharmerb im using phantomjs highcharts-convert.js -infile data.json -outfile chart.png, и я получаю сообщение об ошибке, пытающееся сделать диаграмму. Есть ли что-то, что я могу сделать по-другому? –
Я тестировал оба ваших файла (как строки, а не как фактические файлы), загрузку, демпинг (с вашими «json.dump' args) и повторную загрузку, а затем сравнение объектов« до »и« после ». В обоих случаях загруженные объекты сравниваются равными. Все, что я могу предложить, - попытаться найти раздел в файле плохих данных, вызывающий эту ошибку; возможно, вы можете вырезать материал из JSON (но я думаю, у вас нет большой широты там, не делая данные недействительными). –