Qualcuno sa se esiste un'applicazione che mi permetterà di convertire preferibilmente XLS in JSON?
Mi accontenterò anche di un convertitore da CSV poiché è quello che probabilmente finirò per dover scrivere da solo se non c'è nulla in giro.
Qualcuno sa se esiste un'applicazione che mi permetterà di convertire preferibilmente XLS in JSON?
Mi accontenterò anche di un convertitore da CSV poiché è quello che probabilmente finirò per dover scrivere da solo se non c'è nulla in giro.
Risposte:
Questo ha funzionato perfettamente per me e NON richiede un caricamento di file:
Puoi provare questo strumento che ho creato:
Si converte in JSON, XML e altri.
È anche tutto lato client, quindi i tuoi dati non escono mai dal tuo computer.
Dal momento che Powershell 3.0 (fornito con Windows 8, disponibile per Windows 7 e Windows Server 2008 ma non Windows Vista) è possibile utilizzare il comando incorporato 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
Se non riesci a trovare una soluzione esistente è abbastanza facile crearne una base in Java. Ne ho appena scritto uno per un cliente e ci sono volute solo un paio d'ore compresi gli strumenti di ricerca.
Il PDI di Apache leggerà il file binario di Excel. http://poi.apache.org/
JSONObject costruirà il JSON
Dopodiché si tratta solo di scorrere le righe nei dati di Excel e creare una struttura JSON. Ecco alcuni pseudo codici per l'utilizzo di base.
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();
Questo funziona per me e funziona sul lato client: http://www.convertcsv.com/csv-to-json.htm
Ho appena trovato questo:
http://tamlyn.org/tools/csv2json/
(Nota: devi avere il tuo file CSV disponibile tramite un indirizzo web)
Prova il piccolo strumento gratuito:
Nessuna delle soluzioni esistenti ha funzionato, quindi ho rapidamente messo insieme una sceneggiatura che avrebbe fatto il lavoro. Converte anche stringhe vuote in null e separa la riga di intestazione per JSON. Potrebbe essere necessario sintonizzarsi in base al dialetto CSV e al set di caratteri in uso.
#!/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))
Invece di convertitori hard-coded, che ne dici del supporto CSV per Jackson (processore JSON): https://github.com/FasterXML/jackson-dataformat-csv . Quindi il core Jackson può leggere JSON come POJO, Maps,JsonNode
, quasi qualsiasi cosa. E il supporto CSV può fare lo stesso con CSV. Combina i due ed è un convertitore molto potente ma semplice tra più formati (ci sono già backend per XML, YAML e altri in fase di aggiunta).
Un articolo che mostra come fare questo può essere trovato qui .
Verifica se questo aiuta: Torna a CSV - Converti testo CSV in oggetti; tramite JSON
Questo è un post sul blog pubblicato a novembre 2008 che include il codice C # per fornire una soluzione.
Dall'introduzione sul post del blog:
Poiché Json è più facile da leggere e scrivere, allora Xml. Ne consegue che CSV (valori separati da virgola) è più facile da leggere e scrivere di Json. CSV ha anche strumenti come Excel e altri che rendono facile lavorare e creare. Quindi, se mai vuoi creare una configurazione o un file di dati per la tua prossima app, ecco un po 'di codice per convertire CSV in JSON in oggetti POCO