java json转csv,java读取csv文件转成数组

  java json转csv,java读取csv文件转成数组

  

目录

介紹参考代码测试用例

 

  

介紹

csv全称"逗号分隔值",是一种逗号分隔值格式的文件,是一种用来存储数据的纯文本格式文件CSV .文件由任意数目的记录组成,记录间以某种换行符分隔;每条记录由字段组成,字段间的分隔符是其它字符或字符串。

 

  我找了找目前百度上基本是没有这方面的快捷转换方式和工具包,能找到的基本都不能通用写死的,没办法只能自己写一份出来,主要用到的技术,反射,泛型,类型转换,构造者设计模式,以下代码给提供一个思路,技术差不多的话基本上看了下面的代码是能自己写出来的,如果是入门级别的爪哇程序员就自行跳过本博客

  

参考代码

部分工具类的代码没有展示,这里就粘贴主要核心原理,很简单,自己也是能编写出来的

 

  包com。文件。CSV导入com。obj。转换器。转换器;导入com。反思。反映util导入com。字符串。模式常见;进口龙目岛SneakyThrows导入org。spring框架。核心。parameterizedtypereference导入Java。郎。反思。场;导入Java。util。ArrayList导入Java。util。链接的散列表;导入Java。util。列表;导入Java。util。地图;/** * csv转对象* @作者:欢敏* @日期: 2022/6/18 15:59 * @版本: 1.0 * @描述:文件作用详细描述.*/公共类CSVToObjT扩展ParameterizedTypeReferenceT {私有字符串分隔符;//默认分隔符私有列表字符串对象;//数据private ListT list=new ArrayList();//数据private MapString,String fields types=new linked hashmap();公共csvtobj(列表字符串对象,字符串分隔符){ //特殊符号的处理这个。分隔符=模式通用。除法(分隔符);this.objects=objects} //列,映射,转换的时候会和映射的顺序保持一致,默认使用当前文件的分隔符作为切割公共CSVToObjT映射(字符串字段名){ String[]split=字段名。拆分(分隔符);班级?扩展csvtobj aClass=reflect util。deser able(getClass(),0);field[]声明的字段=一个类。getdeclaredfields();for(字符串s :拆分){ for(字段声明字段:声明字段){声明字段。设置可访问性(true);if(s .等于(声明的字段。getname()){字段类型。put(声明的字段。getname()),declaredField.getType().getTypeName());} } }还这个;} @ sneaky trows public CSVToObjT transform(){ Class?扩展csvtobj aClass=reflect util。deser able(getClass(),0);for(字符串对象:个对象){ String[]split=object。拆分(分隔符);一个班级。新实例();field[]声明fields=o . get class().getDeclaredFields();for(int I=0;我声明了字段I){ Field声明的字段=声明的字段[I];声明菲尔德。设置可访问性(true);if(字段类型。包含键(声明的字段。getname()){声明的字段。set(o,Converter.cast(split[i],字段类型。get(声明的字段。getname()))));} }列表。添加(o);}还这个;}公共列表结果(){返回列表;}}

  

测试用例

包com.file导入com。实体。用户数据;导入com。文件。CSV。CSV obj导入com。文件。CSV。readandwritefilescv导入com。路径。resourcefileutil导入org。朱尼特。测试;导入Java。io。文件;导入Java。util。列表;/** * csv转对象测试* * @作者:欢敏* @日期: 2022/6/18 16:44 * @版本: 1.0 * @描述:文件作用详细描述.*/public class CSVToObjTest { @ Test public void show 1(){ File absoluteFileOrDirPathAndCreateNewFile=资源文件util。getabsolutefileordirpathandcreatenewfile(/File/text。CSV’);//读取头部对应字段string head=readandwritefilescv。readfirstlineone(absoluteFileOrDirPathAndCreateNewFile);//去掉头部和尾部的多余信息,只显示内容ListString list=readandwritefilescv。readskipheadanded(absolutefileordirpathandcreatenfile);//做映射,然后转换战斗支援车格式为实体对象list用户数据结果=new CSVToObjUserData(list, ){} .制图(头)。转换()。结果();对于(用户数据用户数据:结果){ System.out.println(用户数据);} } @ Test public void show 2(){ File absolutefilerdirpathandcreatenewfile=资源文件util。getabsolutefileordirpathandcreatenewfile(/File/text。CSV’);//手动指定文件头部string head= id name pass age sex site ;//去掉头部和尾部的多余信息,只显示内容ListString list=readandwritefilescv。readskipheadanded(absolutefileordirpathandcreatenfile);list用户数据结果=new CSVToObjUserData(list, ){} .制图(头)。转换()。结果();对于(用户数据用户数据:结果){ System.out.println(用户数据);} } //}以上就是爪哇实现战斗支援车格式转对象的详细内容,更多关于Java CSV转对象的资料请关注盛行信息技术其它相关文章!

 

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • js把字符串转为json,json字符串转换成json对象
  • js把字符串转为json,json字符串转换成json对象,js 将json字符串转换为json对象的方法解析
  • json语法格式,json格式定义
  • json语法格式,json格式定义,Json格式详解
  • json格式数据类型,什么是JSON数据-其常见格式是什么-
  • json格式数据类型,什么是JSON数据-其常见格式是什么-,JSON 数据格式详解
  • json格式怎么写,json文件内容格式
  • json格式怎么写,json文件内容格式,json文件书写格式详解
  • json数组对象转化为json字符串,js把数组转化为json
  • json字符串转换成对象有哪几种方法,字符串转化为json的方法
  • json字符串转换成对象有哪几种方法,字符串转化为json的方法,JSON对象转化为字符串详解
  • json基础介绍与详细用法教程,json基础知识
  • json基础介绍与详细用法教程,json基础知识,JSON基础介绍与详细用法
  • json去掉反斜杠,json字符串中有反斜杠
  • json去掉反斜杠,json字符串中有反斜杠,详解json串反转义(消除反斜杠)
  • 留言与评论(共有 条评论)
       
    验证码: