在使用自定义列分隔符“;”解析 CSV 时 并使用:
import com.fasterxml.jackson.dataformat.csv.CsvMapper;
import com.fasterxml.jackson.dataformat.csv.CsvSchema;
我收到以下错误:
com.fasterxml.jackson.databind.JsonMappingException: Can not instantiate value of type [simple type, class Author] from String value ('Email;FirstName;LastName'); no single-String constructor/factory method
这是我的解析代码:
public static <T> List<T> loadObjectList(Class<T> type, String fileName) {
CsvSchema bootstrapSchema = CsvSchema.emptySchema();
bootstrapSchema.withColumnSeparator(';').withoutQuoteChar();
CsvMapper mapper = new CsvMapper();
File file = new File(fileName);
MappingIterator<T> readValues =
mapper.reader(type)
.with(bootstrapSchema)
.readValues(new InputStreamReader(new FileInputStream(file), "ISO-8859-1"));
return readValues.readAll();
}
这是我想映射到 CSV 的模型:
@JsonPropertyOrder({ "Email", "FirstName", "LastName" })
public class Author {
String Email;
String FirstName;
String LastName;
public String getEmail() {
return Email;
}
public void setEmail(String Email) {
this.Email = Email;
}
public String getFirstName() {
return FirstName;
}
public void setFirstName(String firstName) {
FirstName = firstName;
}
public String getLastName() {
return LastName;
}
public void setLastName(String lastName) {
LastName = lastName;
}
public Author(String email, String firstName, String lastName) {
Email = email;
FirstName = firstName;
LastName = lastName;
}
}
慕雪6442864
潇潇雨雨
尚方宝剑之说
皈依舞
随时随地看视频慕课网APP
相关分类