Pregunta

¿Alguien sabe si hay una aplicación que me permita convertir preferiblemente XLS a JSON?

También me conformaré con un convertidor de CSV ya que eso es lo que probablemente tendré que escribir si no hay nada alrededor.

¿Fue útil?

Solución

Esto funcionó perfectamente para mí y NO requiere la carga de un archivo:

https://github.com/cparker15/csv-to-json? archivos = 1

Otros consejos

Puedes probar esta herramienta que hice:

Sr. Convertidor de datos

Se convierte a JSON, XML y otros.

También es del lado del cliente, por lo que sus datos nunca salen de su computadora.

Desde Powershell 3.0 (incluido con Windows 8, disponible para Windows 7 y Windows Server 2008 pero no Windows Vista) puede usar el comando convertto-json incorporado:

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              

Página de ayuda en línea en Technet

Si no puede encontrar una solución existente, es bastante fácil construir una solución básica en Java. Acabo de escribir uno para un cliente y me llevó solo un par de horas, incluidas las herramientas de investigación.

Apache POI leerá el binario de Excel. http://poi.apache.org/

JSONObject construirá el JSON

Después de eso, solo es cuestión de iterar a través de las filas en los datos de Excel y construir una estructura JSON. Aquí hay un pseudocódigo para el uso básico.

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();

Esto funciona para mí y se ejecuta en el lado del cliente: http://www.convertcsv.com/csv-to-json.htm

Acabo de encontrar esto:

http://tamlyn.org/tools/csv2json/

(Nota: debe tener su archivo csv disponible a través de una dirección web)

Pruebe la pequeña herramienta gratuita:

http://keyangxiang.com/csvtojson/

Utiliza node.js módulo csvtojson

Ninguna de las soluciones existentes funcionó, así que rápidamente pirateé un script que haría el trabajo. También convierte cadenas vacías en nulos y separa la fila de encabezado para JSON. Es posible que deba ajustarse según el dialecto CSV y el juego de caracteres que tenga.

#!/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))

En lugar de convertidores codificados, ¿qué tal el soporte CSV para Jackson (procesador JSON): https: //github.com/FasterXML/jackson-dataformat-csv . Así que el núcleo Jackson puede leer JSON como POJOs, Maps, JsonNode, casi cualquier cosa. Y el soporte CSV puede hacer lo mismo con CSV. Combine los dos y es un convertidor muy potente pero simple entre múltiples formatos (ya hay backends para XML, YAML y más)

Puede encontrar un artículo que muestra cómo hacerlo aquí .

Vea si esto ayuda: Volver a CSV - Convertir texto CSV a Objetos; a través de JSON

Esta es una publicación de blog publicada en noviembre de 2008 que incluye el código C # para proporcionar una solución.

De la introducción en la publicación del blog:

  

Como Json es más fácil de leer y escribir que Xml. Se deduce que CSV (valores separados por comas) es más fácil de leer y escribir que Json. CSV también tiene herramientas como Excel y otras que facilitan el trabajo y la creación. Entonces, si alguna vez desea crear un archivo de configuración o datos para su próxima aplicación, aquí hay un código para convertir CSV a JSON en objetos POCO

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top