Вопрос

Кто-нибудь знает, есть ли приложение, которое позволит мне конвертировать предпочтительно 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

Ни одно из существующих решений не сработало, поэтому я быстро собрал сценарий, который выполнил бы эту работу.Также преобразует пустые строки в значения NULL и отделяет строку заголовка для 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 для Джексона (процессор JSON): https://github.com/FasterXML/jackson-dataformat-csv.Таким образом, ядро ​​Джексона может читать JSON как POJO, Maps, JsonNode, почти все.И поддержка CSV может сделать то же самое с CSV.Объедините их, и это будет очень мощный, но простой конвертер между несколькими форматами (уже есть серверные части для XML, YAML и других, которые добавляются).

Статью, в которой показано, как это сделать, можно найти здесь.

Посмотрите, поможет ли это: Вернуться в CSV — конвертировать текст CSV в объекты;через JSON

Это сообщение в блоге, опубликованное в ноябре 2008 года и содержащее код C# для решения.

Из вступления в блоге:

Поскольку Json легче читать и писать, чем Xml.Отсюда следует, что CSV (значения, разделенные запятыми) легче читать и писать, чем Json.В CSV также есть такие инструменты, как Excel и другие, которые упрощают работу и создание.Итак, если вы когда-нибудь захотите создать файл конфигурации или данных для вашего следующего приложения, вот код для преобразования CSV в JSON в объекты POCO.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top