La conversion d'un fichier CSV pour un objet JSON en Java
Est-il open source bibliothèque java pour convertir un fichier CSV (ou XLS) fichier dans un objet JSON?
J'ai essayé d'utiliser json.cdl, mais de toute façon il ne semble pas fonctionner pour les grandes CSV chaînes.
J'essaie de trouver quelque chose comme http://www.cparker15.com/code/utilities/csv-to-json/, mais écrit en Java.
peut-être pas un exact dupliquer car il demande spécifiquement pour une solution Java.
OpenCSV est une très bonne bibliothèque pour travailler avec .csv: baeldung.com/opencsv - vous pouvez l'utiliser pour obtenir un POJO à partir d'un fichier, puis de le sérialiser dans un autre format assez facilement.
OpenCSV est une très bonne bibliothèque pour travailler avec .csv: baeldung.com/opencsv - vous pouvez l'utiliser pour obtenir un POJO à partir d'un fichier, puis de le sérialiser dans un autre format assez facilement.
OriginalL'auteur user1200514 | 2012-03-01
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser Open CSV à la carte CSV vers un Java Bean, et ensuite utiliser JAXB pour convertir le Haricot de Java dans un objet JSON.
http://opencsv.sourceforge.net/#javabean-integration
http://jaxb.java.net/guide/Mapping_your_favorite_class.html
OriginalL'auteur Mouscellaneous
Voici mon programme Java et espère que quelqu'un le trouve utile.
Format doit être comme ceci:
"SYMBOLE DE,DE LA DATE,CLOSE_PRICE,OPEN_PRICE,HIGH_PRICE,LOW_PRICE,VOLUME,ADJ_CLOSE
AAIT,2015-02-26 00:00:00.000,-35.152,0,35.152,35.12,679,0
AAL,2015-02-26 00:00:00.000,49.35,50.38,50.38,49.02,7572135,0"
Première ligne est les en-têtes de colonne. Pas de guillemets n'importe où. Séparé par des virgules et non des points-virgules. Vous obtenez l'affaire.
Nécessite Swing, mais est livré avec un chouette petit graphique, donc ceux qui savent absolument pas de Java pouvez l'utiliser une fois emballé dans un fichier exécutable .jar. N'hésitez pas à améliorer. Merci StackOverflow pour m'aider à me sortir de toutes ces années.
OriginalL'auteur Marco Rosas
@Mouscellaneous essentiellement répondu à cette question pour vous merci donc de lui donner le crédit.
Voici ce que je suis venu avec:
J'ai utilisé maven pour inclure les dépendances, mais vous pouvez également les télécharger manuellement et de les inclure dans votre classpath.
OriginalL'auteur gaoagong
Si votre fichier CSV est simple, c'est facile d'écrire à la main - mais CSV peuvent inclure méchant bord des cas, les citations, les valeurs manquantes, etc.
BufferedReader.readLine()
String.split(",")
pour obtenir la valeur de chaque ligne - NB cette approche ne fonctionnera correctement que si vos valeurs n'ont pas de virgules dans!BufferedWriter
Vous pourriez vouloir utiliser un CSV de la bibliothèque, puis de les convertir en JSON "à la main"
OriginalL'auteur DNA
j'ai utilisé jxl.jar pour excel lecture
Workbook
,Sheet
etContactList
classes?Je ne sais pas la description de cette classes lorsque j'ai importé jxl.jar fichier que j'ai obtenu ces classes à partir de cette bibliothèque . Si vous voulez, je donnerai des détails de la postfaces . merci
OriginalL'auteur Vishal Mokal
Avec Java 8, écriture JSON est à portée de main.
Vous ne spécifiez pas ce API JSON que vous voulez, donc je suppose que par "objet JSON" vous voulez dire une chaîne de caractères avec un sérialisé objet JSON.
Ce que j'ai fait dans le CSV Cruncher projet:
javax.json.JsonObject
) et sérialiser.Voici comment le faire:
L'ensemble de l'impl est ici. (À l'origine, j'ai écrit mon propre CSV d'analyse et de JSON écrit, mais compris les deux sont assez compliqué à atteindre pour la testé-de-la-étagère de la bibliothèque.)
OriginalL'auteur Ondra Žižka
Si vous êtes à l'aide de Java 8, vous pouvez faire quelque chose comme cela. Pas de Bibliothèques ou de logique compliquée nécessaire.
Tout d'abord, créer un POJO représentant votre nouvel objet JSON. Dans mon exemple, il est appelé "YourJSONObject" et dispose d'un constructeur prenant deux chaînes.
Ce que fait le code est d'abord à la lecture du fichier, puis crée un flux de Chaîne de caractères en fonction des lignes. ( une ligne est équivalente à une ligne dans votre fichier CSV).
On passe ensuite à la ligne dans la fonction map qui se divise sur une virgule, puis crée le YourJSONObject.
Tous ces objets sont ensuite collectées pour une liste qui nous passons à la JSONArray constructeur.
Vous avez maintenant un Tableau de JSONObjects. Vous pouvez ensuite appeler toString() sur cet objet si vous voulez voir le texte de la représentation de cette.
OriginalL'auteur James Owen
Vieux post, mais j'ai pensé que je devais partager ma propre solution. Il suppose que les citations sont utilisées autour d'une valeur à virgule. Il supprime également toutes les offres à la suite.
Cette méthode accepte une Chaîne de caractères au format CSV. Donc, il suppose que vous avez déjà lu le fichier CSV en une chaîne de caractères. Assurez-vous de ne pas supprimer le NextLine caractères ('\n') en cours de lecture.
Cette méthode en aucune façon parfaite, mais il pourrait être la rapide d'une méthode de solution en java pur vous êtes à la recherche pour.
OriginalL'auteur Xelights