使用java jackson API将Flat CSV转换为分层JSON

时间:2016-10-19 09:07:45

标签: java json csv jackson

我的CSV定义如下。


    employee.name,employee.age,employee.dept.name,employee.dept.id,employee.dept.address.firstLine,employee.dept.address.postCode
    John Doe, 28, Sales,1001,21st Street,WX2 2XV
    Sam Smith, 22, IT,2001,22nd Street,XX2 2VV

我想将上述CSV转换为以下JSON结构


    [
        "employee":{
            "name":"John Doe",
            "age":28
        },
        "dept":{
            "name":"Sales",
            "id":1001,
            "address":{
                "firstLine":21ndStreet,
                "postCode":WX22XV
            }
        }
        "employee":{
            "name":"Sam Smith",
            "age":22
        },
        "dept":{
            "name":"IT",
            "id":2001,
            "address":{
                "firstLine":22stStreet,
                "postCode":XX22VV
            }
        }
    ]

这样我的Jackson ObjectMapper就会使用JSON并将其转换为以下的Employee Object。


    class Employee {
        String name;
        int age;
        Dept dept;
    }


    class Dept {
        String name;
        int id;
        Address address;
    }


    class Address {
        String firstLine;
        String postCode;
    }

我使用CSVMapper加载CSV文件但找不到直接转换为ObjectMapper的方法,以便我可以构建底层Java对象。

假设CSV标头包含实际的属性和对象名称。

请提前接受我的谢意。

我不想使用注释,我需要将此CSV转换为旧版Java对象。

0 个答案:

没有答案