преобразование CSV / XLS в JSON? [закрытый]
кто-нибудь знает, есть ли приложение, которое позволит мне скрыть предпочтительно XLS в JSON?
Я также соглашусь на конвертер из CSV, так как это то, что мне, вероятно, придется писать самому, если вокруг ничего нет.
10 ответов:
вы можете попробовать этот инструмент я сделал:
он преобразуется в JSON, XML и другие.
Это все на стороне клиента, так что ваши данные никогда не покидает ваш компьютер.
начиная с Powershell 3.0 (поставляется с Windows 8, доступно для Windows 7 и windows Server 2008 но не Windows Vista ) вы можете использовать встроенный командлет convertto-json:
PS E:> $topicsjson = import-csv .\itinerary-all.csv | ConvertTo-Json PS E:\> $topicsjson.Length 11909 PS E:\> $topicsjson.getType() IsPublic IsSerial Name BaseType -------- -------- ---- -------- True True Object[] System.Array
Если вы не можете найти существующее решение, довольно легко построить базовое решение на Java. Я просто написал один для клиента, и это заняло всего пару часов, включая исследования инструментов.
Apache POI будет читать двоичный файл Excel. http://poi.apache.org/
JSONObject построит JSON
после этого это просто вопрос итерации по строкам в данных Excel и построения структуры JSON. Вот некоторые псевдо-код для основного использование.
FileInputStream inp = new FileInputStream( file ); Workbook workbook = WorkbookFactory.create( inp ); // Get the first Sheet. Sheet sheet = workbook.getSheetAt( 0 ); // Start constructing JSON. JSONObject json = new JSONObject(); // Iterate through the rows. JSONArray rows = new JSONArray(); for ( Iterator<Row> rowsIT = sheet.rowIterator(); rowsIT.hasNext(); ) { Row row = rowsIT.next(); JSONObject jRow = new JSONObject(); // Iterate through the cells. JSONArray cells = new JSONArray(); for ( Iterator<Cell> cellsIT = row.cellIterator(); cellsIT.hasNext(); ) { Cell cell = cellsIT.next(); cells.put( cell.getStringCellValue() ); } jRow.put( "cell", cells ); rows.put( jRow ); } // Create the JSON. json.put( "rows", rows ); // Get the JSON text. return json.toString();
Это работает для меня и работает на стороне клиента: http://www.convertcsv.com/csv-to-json.htm
Я только что нашел это:
http://tamlyn.org/tools/csv2json/
(Примечание: Вы должны иметь ваш csv-файл доступен через веб-адрес )
попробуйте крошечный бесплатный инструмент:
http://keyangxiang.com/csvtojson/
Он использует узел.js модуль csvtojson
ни одно из существующих решений не сработало, поэтому я быстро взломал сценарий, который выполнит эту работу. Также преобразует пустые строки в нули и отделяет строку заголовка для JSON. Возможно, потребуется настроить в зависимости от диалекта CSV и кодировки у вас есть.
#!/usr/bin/python import csv, json csvreader = csv.reader(open('data.csv', 'rb'), delimiter='\t', quotechar='"') data = [] for row in csvreader: r = [] for field in row: if field == '': field = None else: field = unicode(field, 'ISO-8859-1') r.append(field) data.append(r) jsonStruct = { 'header': data[0], 'data': data[1:] } open('data.json', 'wb').write(json.dumps(jsonStruct))
вместо жестко закодированных конвертеров, как насчет поддержки CSV для Jackson (JSON processor):https://github.com/FasterXML/jackson-dataformat-csv. таким образом, ядро Джексона может читать JSON в качестве POJOs, Maps,
JsonNode
почти ничего. И поддержка CSV может сделать то же самое с CSV. Объедините два, и это очень мощный, но простой конвертер между несколькими форматами (уже есть бэкэнды для XML, YAML и многое другое).статья, которая показывает, как это сделать можно нашел здесь.
посмотреть, если это помогает: Back to CSV-преобразование текста CSV в объекты; через JSON
это сообщение в блоге, опубликованное в ноябре 2008 года, которое включает в себя код C# для предоставления решения.
из вступления в блоге:
как Json легче читать и писать, то Xml. Из этого следует, что CSV (разделенные запятыми значения) легче читать и писать, чем Json. CSV также имеет такие инструменты, как Excel и другие, которые позволяют легко работать с и создавать. Поэтому, если вы когда-нибудь захотите создать файл конфигурации или данных для своего следующего приложения, вот код для преобразования CSV в JSON в Poco objects