Java 无法将文本文件转换为json
你好,我是jackson的新手,我正在尝试将文本文件转换为JSON,但是我的文本文件有问题,我不知道文本文件的详细信息应该是什么格式。下面是我的代码 错误:org.codehaus.jackson.map.JsonMappingException:无法识别的字段“Employee”(Class test.Employee),未标记为可忽略 在[来源:C:\Users\Ashwin Utchanah\Desktop\BIOGRID\jsonInput.txt;第3行,第2列] 员工类别:Java 无法将文本文件转换为json,java,jackson,Java,Jackson,你好,我是jackson的新手,我正在尝试将文本文件转换为JSON,但是我的文本文件有问题,我不知道文本文件的详细信息应该是什么格式。下面是我的代码 错误:org.codehaus.jackson.map.JsonMappingException:无法识别的字段“Employee”(Class test.Employee),未标记为可忽略 在[来源:C:\Users\Ashwin Utchanah\Desktop\BIOGRID\jsonInput.txt;第3行,第2列] 员工类别: publ
public class Employee {
private int empId;
private String name;
private String designation;
private String department;
private int salary;
public String toString(){
StringBuilder sb = new StringBuilder();
sb.append("************************************");
sb.append("\nempId: ").append(empId);
sb.append("\nname: ").append(name);
sb.append("\ndesignation: ").append(designation);
sb.append("\ndepartment: ").append(department);
sb.append("\nsalary: ").append(salary);
sb.append("\n************************************");
return sb.toString();
}
public int getEmpId() {
return empId;
}
public void setEmpId(int empId) {
this.empId = empId;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDesignation() {
return designation;
}
public void setDesignation(String designation) {
this.designation = designation;
}
public String getDepartment() {
return department;
}
public void setDepartment(String department) {
this.department = department;
}
public int getSalary() {
return salary;
}
public void setSalary(int salary) {
this.salary = salary;
}
}
public class ObjectToJson {
public static void main(String [] args) {
ObjectMapper mapper = new ObjectMapper();
try {
File jsonInputFile = new File("C:\\Users\\Ashwin Utchanah\\Desktop\\BIOGRID\\jsonInput.txt");
Employee emp = mapper.readValue(jsonInputFile, Employee.class);
System.out.println(emp);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
主类:
public class Employee {
private int empId;
private String name;
private String designation;
private String department;
private int salary;
public String toString(){
StringBuilder sb = new StringBuilder();
sb.append("************************************");
sb.append("\nempId: ").append(empId);
sb.append("\nname: ").append(name);
sb.append("\ndesignation: ").append(designation);
sb.append("\ndepartment: ").append(department);
sb.append("\nsalary: ").append(salary);
sb.append("\n************************************");
return sb.toString();
}
public int getEmpId() {
return empId;
}
public void setEmpId(int empId) {
this.empId = empId;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDesignation() {
return designation;
}
public void setDesignation(String designation) {
this.designation = designation;
}
public String getDepartment() {
return department;
}
public void setDepartment(String department) {
this.department = department;
}
public int getSalary() {
return salary;
}
public void setSalary(int salary) {
this.salary = salary;
}
}
public class ObjectToJson {
public static void main(String [] args) {
ObjectMapper mapper = new ObjectMapper();
try {
File jsonInputFile = new File("C:\\Users\\Ashwin Utchanah\\Desktop\\BIOGRID\\jsonInput.txt");
Employee emp = mapper.readValue(jsonInputFile, Employee.class);
System.out.println(emp);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
您试图转换为具体对象的JSON无效 您可以使用JSON lint之类的JSON验证器轻松测试这一点 问题出现在顶层
Employee
字段中。将输入文件更改为:
{
"EmpID": 1234,
"name": "assd",
"designation": "programmer",
"salary": 25000
}
应该可以解决您的问题。您试图转换为具体对象的JSON无效 您可以使用JSON lint之类的JSON验证器轻松测试这一点 问题出现在顶层
Employee
字段中。将输入文件更改为:
{
"EmpID": 1234,
"name": "assd",
"designation": "programmer",
"salary": 25000
}
应该可以解决您的问题。事实上,我的文本文件类似于empId 1017名称Nagesh Y指定经理部门Java2Novice工资30000意外字符('e'(代码101)):应为有效值(数字、字符串、数组、对象、'true'、'false'或'null')我现在收到此错误实际上我的文本文件类似于empId 1017名称Nagesh Y指定经理部门Java2Novice工资30000意外字符('e'(代码101)):需要有效值(数字、字符串、数组、对象、'true'、'false'或'null')我现在收到此错误