Java 无法将文本文件转换为json

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

你好,我是jackson的新手,我正在尝试将文本文件转换为JSON,但是我的文本文件有问题,我不知道文本文件的详细信息应该是什么格式。下面是我的代码

错误:org.codehaus.jackson.map.JsonMappingException:无法识别的字段“Employee”(Class test.Employee),未标记为可忽略 在[来源:C:\Users\Ashwin Utchanah\Desktop\BIOGRID\jsonInput.txt;第3行,第2列]

员工类别:

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')我现在收到此错误