Est-ce que quelqu'un sait s'il existe une application qui me permettra de convertir de préférence XLS en JSON?
Je vais aussi me contenter d'un convertisseur CSV car c'est ce que je vais probablement devoir écrire moi-même s'il n'y a rien.
Cela a parfaitement fonctionné pour moi et ne nécessite PAS de téléchargement de fichier:
Vous pouvez essayer cet outil que j'ai créé:
Il convertit en JSON, XML et autres.
Il s’agit également du côté client, afin que vos données ne quittent jamais votre ordinateur.
Depuis Powershell 3.0 (livré avec Windows 8, disponible pour Windows 7 et Windows Server 2008 mais pas avec Windows Vista), vous pouvez utiliser le commandlet intégré 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 vous ne pouvez pas trouver une solution existante, il est assez facile de créer une solution de base en Java. Je viens d’en écrire un pour un client et cela n’a pris que quelques heures, y compris la recherche d’outils.
Apache POI lira le binaire Excel. http://poi.Apache.org/
JSONObject construira le JSON
Ensuite, il suffit de parcourir les lignes des données Excel et de créer une structure JSON. Voici un pseudo-code pour l’utilisation de 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();
Cela fonctionne pour moi et fonctionne côté client: http://www.convertcsv.com/csv-to-json.htm
Je viens de trouver ceci:
http://tamlyn.org/tools/csv2json/
(Remarque: votre fichier csv doit être disponible via une adresse Web)
Essayez l’outil gratuit minuscule:
http://keyangxiang.com/csvtojson/
Il utilise node.js module csvtojson
Aucune des solutions existantes n’ayant fonctionné, j’ai rapidement mis au point un script qui ferait le travail. Convertit également les chaînes vides en NULL et sépare la ligne d'en-tête pour JSON. Peut-être devrez-vous régler en fonction du dialecte CSV et du jeu de caractères que vous avez.
#!/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))
Au lieu de convertisseurs codés en dur, que diriez-vous de la prise en charge CSV pour Jackson (processeur JSON): https://github.com/FasterXML/jackson-dataformat-csv . Donc, le noyau de Jackson peut lire le JSON sous forme de POJO, de cartes, de JsonNode
, de presque tout. Et le support CSV peut faire la même chose avec CSV. Combinez les deux et vous obtiendrez un convertisseur simple mais très puissant entre plusieurs formats (il existe déjà des bases de données pour XML, YAML, etc.).
Vous pouvez trouver un article expliquant comment faire cela ici .
Voyez si cela vous aide: Retour à CSV - Convertir un texte CSV en objet; via JSON
Ce billet de blog publié en novembre 2008 inclut du code C # pour fournir une solution.
De l'intro sur le blog:
Comme Json est plus facile à lire et à écrire, alors XML. Il en résulte que CSV (valeurs séparées par des virgules) est plus facile à lire et à écrire que Json. CSV dispose également d'outils tels qu'Excel et d'autres qui facilitent la création et le travail. Donc, si vous voulez un jour créer un fichier de configuration ou de configuration pour votre prochaine application, voici du code pour convertir des objets CSV en JSON en objets POCO