4 ms·
> BTW, does anyone know of a tool to do the reverse? I created a java/scala library[1] (source is scala, but there's a jar with dependencies for java) a few ye
by yareally 11y ago
> BTW, does anyone know of a tool to do the reverse?
I created a java/scala library[1] (source is scala, but there's a jar with dependencies for java) a few years ago for an Android app I was hired to work on that converts nested JSON to CSV. I was allowed to open source the library later on and released it under the MIT License, so anyone can use it now.
Never thought anyone else would ever need to convert json to csv, but I guess I was wrong :)
I don't have a use case for it anymore, so I haven't maintained it, but if someone wants to update it, feel free to send a pull request.
[1] https://github.com/yareally/json-to-csv https://github.com/yareally/json-to-csv
- EvanPlaice 11y agoYes. Use the built-in JSON.parse() to get the data into memory, then use my jquery-csv library's $.csv.fromArrays() to format the data as CSV. Guess I found a good candidate for a blog post. It's amazing How much I see others struggle with such a aimple concept.
- yareally 11y agoNot sure if you parsed my comment incorrectly or you meant to reply to someone else :)
- EvanPlaice 11y agoSomehow missed the 'java/scala part'. Either way, why do 2 data format transforms as one lib? It makes more sense to parse JSON into memory in one step then format it as CSV in a separate step. Ie, what about the 'Single Responsibility Principle'?
- yareally 11y ago1) The parsing and converting are done with separate methods. Thus single responsibility. 2) It's a very small library. Less than 200 lines (including comments). There's no reason to put this in 2 jars, classes or packages. Have you looked at the code at all? 3) The method call to parse JSON is in the method that converts the CSV, but it's trivial to move it out and run it explicitly. Simply remove the call to parse and explicitly run it separate. 4) Client wanted the ability to filter out JSON data they didn't want in the CSV. Thus, it's a little more complicated than a call to something like JSON.parse() in Scala/Java. 5) Code does what it needed to do and made the client happy. If you think you can do it better while keeping the code in Java/Scala, send a pull request to my repo and we'll discuss :)
- kawera 11y agoTons of old systems won't accept json but happily ingest csv/tsv - the need to convert json to csv isn't rare depending on your environment. Thanks for the library, will probably be useful in the future.