java csv to json

V 1. 

https://stackoverflow.com/questions/9524191/converting-an-csv-file-to-a-json-object-in-java

import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.dataformat.csv.CsvMapper;
import com.fasterxml.jackson.dataformat.csv.CsvSchema;
import org.json.simple.JSONArray;
import org.json.simple.parser.JSONParser;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;


import java.io.File;
import java.util.List;
import java.util.Map;


public class CsvToJson {

private static final Logger log = LoggerFactory.getLogger(UtilsFormat.class);
private static CsvToJson instance;


public static JSONArray convert(File input) throws Exception {

    JSONParser parser = new JSONParser();
    CsvSchema csvSchema = CsvSchema.builder().setUseHeader(true).build();
    CsvMapper csvMapper = new CsvMapper();

    // Read data from CSV file
    List<? extends Object> readAll = csvMapper.readerFor(Map.class).with(csvSchema).readValues(input).readAll();

    ObjectMapper mapper = new ObjectMapper();

    JSONArray jsonObject = (JSONArray) parser.parse(mapper.writerWithDefaultPrettyPrinter().writeValueAsString(readAll));
    System.out.print(jsonObject.toString());

    return new JSONArray();
}
}

VV 2.
we can convert a JSON Array to CSV format.
import java.io.File;
import org.apache.commons.io.FileUtils;
import org.json.*;
public class ConvertJsonToCSVTest {
   public static void main(String[] args) throws JSONException {
      String jsonArrayString = "{\"fileName\": [{\"first name\": \"Ravi\",\"last name\": \"Chandra\",\"location\": \"Bangalore\"}]}";
      JSONObject output;
      try {
         output = new JSONObject(jsonArrayString);
         JSONArray docs = output.getJSONArray("fileName");
         File file = new File("EmpDetails.csv");
         String csv = CDL.toString(docs);
         FileUtils.writeStringToFile(file, csv);
         System.out.println("Data has been Sucessfully Writeen to "+ file);
         System.out.println(csv);
      }
      catch(Exception e) {
         e.printStackTrace();
      }
   }
}

3.

Console Output

[ { “id”: 1, “language”: “Java”, “edition”: “third”, “author”: “Herbert Schildt”, “streetAddress”: 126, “city”: “San Jone”, “state”: “CA”, “postalCode”: 394221 }, { “id”: 2, “language”: “C++”, “edition”: “second”, “author”: “EAAAA”, “streetAddress”: 126, “city”: “San Jone”, “state”: “CA”, “postalCode”: 394221 }, { “id”: 3, “language”: “.Net”, “edition”: “second”, “author”: “E.Balagurusamy”, “streetAddress”: 126, “city”: “San Jone”, “state”: “CA”, “postalCode”: 394221 } ]

https://www.novixys.com/blog/convert-csv-json-java/
try (InputStream in = new FileInputStream(csvFile);) {
    CSV csv = new CSV(true, ',', in);
    List<String> fieldNames = null;
    if ( csv.hasNext() ) fieldNames = new ArrayList<>(csv.next());
    List<Map<String,String>> list = new ArrayList<>();
    while (csv.hasNext()) {
        List<String> x = csv.next();
        Map<String,String> obj = new LinkedHashMap<>();
        for (int i = 0 ; i < fieldNames.size() ; i++) {
            obj.put(fieldNames.get(i), x.get(i));
        }
        list.add(obj);
    }
    ObjectMapper mapper = new ObjectMapper();
    mapper.enable(SerializationFeature.INDENT_OUTPUT);
    mapper.writeValue(System.out, list);
}

4.
https://docs.aspose.com/cells/java/convert-csv-to-json/
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
//Source directory
String sourceDir = Utils.Get_SourceDirectory();

LoadOptions loadOptions = new LoadOptions(LoadFormat.CSV);
// Load CSV file
Workbook workbook = new Workbook(sourceDir + "SampleCsv.csv", loadOptions);
Cell lastCell = workbook.getWorksheets().get(0).getCells().getLastCell();

// Set ExportRangeToJsonOptions
ExportRangeToJsonOptions options = new ExportRangeToJsonOptions();
Range range = workbook.getWorksheets().get(0).getCells().createRange(0, 0, lastCell.getRow() + 1, lastCell.getColumn() + 1);
String data = JsonUtility.exportRangeToJson(range, options);

// Print JSON
System.out.println(data);


V5.
https://codereview.stackexchange.com/questions/105054/csv-to-json-conversion-in-java
public static JSONArray getJSON(String url) throws IOException, JSONException, URISyntaxException, TransformerException{
        HttpClient httpClient = new DefaultHttpClient();
        JSONArray jArray = new JSONArray();
        Object[] q = null;
        Deque<String> queue = new ArrayDeque<String>();

        try{  
            HttpGet httpGet = new HttpGet(url);
            HttpResponse response = httpClient.execute(httpGet);
            int responseCode = response.getStatusLine().getStatusCode();
            logger.info("Response Code : " + responseCode);
            if (responseCode != 404){
                logger.info("Response" + response.getEntity().getContent());
                try(BufferedReader reader = new BufferedReader(
                       new InputStreamReader(
                               response.getEntity().getContent()))) {

                 if(reader != null){
                     String aux = "";
                     while ((aux = reader.readLine()) != null) {
                         queue.add(aux);
                     }
                     q = queue.toArray();

                     for(int i = 0; i < q.length; i++){

                         String[] row = q[i].toString().split(",");

                            JSONObject json = new JSONObject();
                            json.put("col0", row[0]);
                            json.put("col1", row[1]);
                            json.put("col2", row[2]);
                            json.put("col3", row[3]);
                            json.put("col4", row[4]);
                            json.put("col5", row[5]);

                            jArray.put(json);


                     }
                 }
                }

             }
                }
                return null;

             }
             return jArray;
        }finally{
            httpClient.getConnectionManager().shutdown();
        }
    }

留言

這個網誌中的熱門文章

考績被打差了 輕率離職會更傷

Arrays - DS (Reverse array) [Easy]

WireMock