【发布时间】:2016-06-08 17:23:56
【问题描述】:
我创建了一个类,用于将 csv 文件转换为 dto,然后是 ojson 结构,但是当我转换为 json 时,我只得到了 csv 中的最后一行。
这是我的代码
public class TermParsing {
private static final Logger log = Logger.getLogger(TermParsing.class.getName());
Properties prop = new Properties();
String data;
//creating object for the dto class
TermParsingDTO term = new TermParsingDTO();
CsvReader read;
JSONObject json = new JSONObject();
HashMap hmap=new HashMap();
//method to parse the csv file
void changeFileType() throws IOException {
try {
//to get the properties file from the source
FileReader file = new FileReader("./config.txt");
//loading the properties file
prop.load(file);
data = prop.getProperty("File");
String path = prop.getProperty("Path");
//to export the log message to the target
FileHandler fh = new FileHandler(path);
log.addHandler(fh);
//to format the log messages
SimpleFormatter format = new SimpleFormatter();
fh.setFormatter(format);
log.warning("FileNotFoundException may occur");
//reading the input csv file
read = new CsvReader(data);
read.readHeaders();
//to obtain the values from csv file
while (read.readRecord()) {
term.setTerm_Name(Arrays.asList(read.get("Term Name")));
term.setParent_category(Arrays.asList(read.get("Parent Category")));
term.setShort_description(Arrays.asList(read.get("Short Description")));
term.setLong_description(Arrays.asList(read.get("Long Description")));
term.setStatus(Arrays.asList(read.get("Status")));
}
} catch (FileNotFoundException ex) {
Logger.getLogger(TermParsing.class.getName()).log(Level.SEVERE, "FileNotFoundException", ex);
}
}
在此方法中,我的 json 结构仅针对单个值创建
void convertToJson() throws IOException {
ObjectMapper map = null;
String jsonInString;
map = new ObjectMapper();
jsonInString = map.writerWithDefaultPrettyPrinter().writeValueAsString(term);
System.out.println(jsonInString);
}
【问题讨论】: