¿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 terminaré teniendo que escribir yo mismo si no hay nada alrededor.
¿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 terminaré teniendo que escribir yo mismo si no hay nada alrededor.
Respuestas:
Esto funcionó perfectamente para mí y NO requiere la carga de un archivo:
Puedes probar esta herramienta que hice:
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 incorporado 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
Si no puede encontrar una solución existente, es bastante fácil crear una solución básica en Java. Acabo de escribir uno para un cliente y me tomó 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:
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 POJO, mapas 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 hacer esto aquí .
Vea si esto ayuda: Volver a CSV - Convertir texto CSV a Objetos; vía 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, entonces 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 a objetos POCO