2017-04-26 2 views
0

ich Anfänger in Java bin und ich möchte csv-Datei in jsonJava, csv zu json, jackson-Datenformat-csv

Ich bin mit dem folgenden Codebeispiel konvertieren CSV-Datei in JSON-Datei zu konvertieren, die Dinge sind, ich habe einen Fehler auf dem "withSchema (Bootstrap)" es heißt: "Die Methode mit (CsvSchema) ist nicht definiert für den Typ ObjectReader" und ich weiß nicht, wie es zu beheben, ich habe Änderungen Maven Abhängigkeiten zu die Version 2.9.0, versuche withtype (bootstrap) mitCsvSchema (bootstap), funktioniert aber immer noch nicht. Hier

Dank

ist der Code:

package CsvData; 

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

import com.fasterxml.jackson.databind.MappingIterator; 
import com.fasterxml.jackson.databind.ObjectMapper; 
import com.fasterxml.jackson.dataformat.csv.CsvMapper; 
import com.fasterxml.jackson.dataformat.csv.CsvSchema; 

public class csvjson { 

    public static void main(String[] args) throws Exception { 
     File input = new File("/x/data.csv"); 
     File output = new File("/x/data.json"); 

     List<Map<?, ?>> data = readObjectsFromCsv(input); 
     writeAsJson(data, output); 
    } 

    public static List<Map<?, ?>> readObjectsFromCsv(File file) throws IOException { 
     CsvSchema bootstrap = CsvSchema.emptySchema().withHeader(); 
     CsvMapper csvMapper = new CsvMapper(); 
     MappingIterator<Map<?, ?>> mappingIterator = csvMapper.reader(Map.class).with(bootstrap).readValues(file); 

     return mappingIterator.readAll(); 
    } 

    public static void writeAsJson(List<Map<?, ?>> data, File file) throws IOException { 
     ObjectMapper mapper = new ObjectMapper(); 
     mapper.writeValue(file, data); 
    } 
} 
+0

die Fehlermeldung please – Jens

+0

Was ist der Inhalt der zurück 'Liste '? –

+0

Haben Sie versucht, den JavaDoc für diese ObjectReader-Klasse zu finden? –

Antwort

0

richtige Methode Name ist withSchema

csvMapper.reader(Map.class).withSchema(bootstrap).readValues(file); 
+0

ja ich habe versucht, aber es ist funktioniert immer noch nicht – hugo