Do you have a list of all the column headers you want in your CSV? If so, it is "just" a matter of reading the JSON and writing to a data structure. If not, you could read the file into memory and go through it twice - once to build a Set of header names and again to actually write.
I recommend you use Apache Commons CSV or Open CSV for the actually writing to CSV part. For reading the CSV, I like GSON, but there are many good libraries.