Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java中将csv行转换为JSON对象_Java_Json_Csv_Jackson - Fatal编程技术网

在Java中将csv行转换为JSON对象

在Java中将csv行转换为JSON对象,java,json,csv,jackson,Java,Json,Csv,Jackson,我有一个类似的csv文件 "name.firstName","name.givenName","name.DisplayName","phone.type","phone.value" "john","maverick","John Maverick","mobile","123-123-123" "jim","lasher","Jim Lasher","mobile","123-123-123" 我想将第二行和第三行转换为JSON对象。使用第一行作为标题。因此,结果将是 [ { "nam

我有一个类似的csv文件

"name.firstName","name.givenName","name.DisplayName","phone.type","phone.value"
"john","maverick","John Maverick","mobile","123-123-123"
"jim","lasher","Jim Lasher","mobile","123-123-123"
我想将第二行和第三行转换为JSON对象。使用第一行作为标题。因此,结果将是

[
{  
"name": {
    "firstName": "john",
    "givenName": "maverick",
    "DisplayName": "John Maverick"
},
"phone": {
    "type": "mobile",
    "value": "123-123-123"
}
},
{
"name": {
    "firstName": "john",
    "givenName": "maverick",
    "DisplayName": "John Maverick"
},
"phone": {
    "type": "mobile",
    "value": "123-123-123"
}
]

你知道如何实现这一点吗?

这里有一个Java库可以帮助你

下面是一个JavaScript库,它可能对您有用,也可能对您不有用


最后,这里有一个可能有用的过去的答案。我喜欢OpenCSV解决方案。但是,您可以使用Jackson而不是JAXB

创建表示结构的数组和映射对象,然后将它们序列化为JSON。感谢您的回答,在第三个解决方案中,使用的示例代码是ColumnPositionMappingStrategy strat=new ColumnPositionMappingStrategy();setType(YourOrderBean.class);字符串[]列=新字符串[]{“名称”、“订单号”、“id”};//要绑定的字段在JavaBean strat.setColumnMapping(columns)中;CsvToBean csv=新的CsvToBean();List=csv.parse(strat,yourReader);这里的读者到底是什么,我如何输入值与bean绑定?谢谢我相信yourReader就是inputFileReader。是的,我知道了,谢谢,还有没有关于使用Jackson将javaBean转换为JSON的文档?再次感谢。这看起来是一个很好的教程,但我还没有机会看一遍。如果我的答案有帮助,你能投赞成票和/或选择它作为正确答案吗?谢谢