Кто-нибудь знает, есть ли приложение, которое позволит мне конвертировать предпочтительно XLS в JSON?
Я также соглашусь на конвертер из CSV, так как это то, что мне, вероятно, придется писать самому, если под рукой ничего нет.
Кто-нибудь знает, есть ли приложение, которое позволит мне конвертировать предпочтительно XLS в JSON?
Я также соглашусь на конвертер из CSV, так как это то, что мне, вероятно, придется писать самому, если под рукой ничего нет.
Это отлично сработало для меня и НЕ требует загрузки файла:
https://github.com/cparker15/csv-to-json?files=1
Вы можете попробовать этот инструмент, который я сделал:
Он конвертирует в 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
Интернет-справка на сайте Technet
Если вы не можете найти существующее решение, довольно легко создать базовое решение на 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/
Он использует node.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): https://github.com/FasterXML/jackson-dataformat-csv. Таким образом, ядро Jackson может читать JSON как POJO, Maps, JsonNode
, почти что угодно. И поддержка CSV может сделать то же самое с CSV. Объедините их, и вы получите очень мощный, но простой конвертер между несколькими форматами (уже есть бэкэнды для XML, YAML и многое другое).
Статью, в которой показано, как это сделать, можно найти здесь.
Посмотрите, поможет ли это: Вернуться в CSV — преобразовать текст CSV в объекты; через JSON
Это сообщение в блоге, опубликованное в ноябре 2008 г., которое включает код C# для предоставления решения.
Из вступления в блоге:
Поскольку Json легче читать и писать, чем Xml. Отсюда следует, что CSV (значения, разделенные запятыми) легче читать и писать, чем Json. CSV также имеет такие инструменты, как Excel и другие, которые упрощают работу и создание. Поэтому, если вы когда-нибудь захотите создать файл конфигурации или данных для своего следующего приложения, вот некоторый код для преобразования CSV в JSON в объекты POCO.