Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.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文件反序列化为JavaBeans_Java - Fatal编程技术网

Java-如何将CSV文件反序列化为JavaBeans

Java-如何将CSV文件反序列化为JavaBeans,java,Java,我想将java对象解析为XML字符串形式的CSV文件 例如,我得到了如下csv,所有列都是可选的: name,age,class,level jon,12,archer,12 然后我想用如下输出将其解析为XML(例如,我不需要level列): 乔恩 12 弓箭手 对于XML对象,这很容易,因为我只需要使用@XmlElement进行解析。 但对我来说,将CSV解析为Object来完成剩下的事情是相当混乱的。 我尝试过使用Jsefa,但它只能返回一个对象,而不是一个bean来添加注释您可以使用

我想将java对象解析为XML字符串形式的CSV文件

例如,我得到了如下csv,所有列都是可选的:

name,age,class,level
jon,12,archer,12
然后我想用如下输出将其解析为XML(例如,我不需要level列):


乔恩
12
弓箭手
对于XML对象,这很容易,因为我只需要使用@XmlElement进行解析。 但对我来说,将CSV解析为Object来完成剩下的事情是相当混乱的。
我尝试过使用Jsefa,但它只能返回一个对象,而不是一个bean来添加注释

您可以使用OpenCSV读取CSV并转换为Java对象。您可以参考其文档和示例,网址为


有关如何将OpenCSV添加到项目中的信息可在

上获得,因此这是否可以使CSV列成为可选列,因为有时我不需要在XML中显示所有CSV列值,我认为即使是可选列也应该可以。你可以很快尝试一下。我已经用如何将OpenCSV添加到您的项目的链接更新了答案。xml或csv是硬要求吗?像Protobuf这样的二进制格式会更有效并保留类型信息,那么为什么不读取csv并将其转换为java对象呢。。。然后用java对象做你要做的事情。。。如果你愿意,你可以用杰克逊。或者你可以走另一条路。。。首先尝试将csv转换为json,然后将json转换为xml。试试这个链接:是的,因为CSV和XML都是硬需求。如果我先将CSV转换为JSON,然后再将JSON转换为XML,这会很耗时,因为我可以解析CSV,将其映射并解析为bean,然后在该对象上生成XML
<char>
     <name>jon</name>
     <age>12</name>
     <class>archer</class>
</char>