假设我有两个CSV文件。文件1定义了标准的csv数据文件&文件2是文件1和文件1的映射文件。 JSON 现在我想要的是我想映射这两个文件,并将文件1的数据与Json进行比较。 &安培;将不匹配输出为csv。
我如何实现这一目标?
文件1:
key,id,value,name,number
1,322,re43,dasu,555-456
文件2:
Rsat_key,key
Retina_id,id
reason_value,value
real_name,name
work_ph,phone
的Json
{
"Rsat_key":1,
"Retina_id":322,
"reason_value":,
"real_name":dasu,
"work_ph":,555-456,
}
答案 0 :(得分:1)
代码看起来像
String csvFile = "sample.csv";
BufferedReader br = null;
String line = "";
String cvsSplitBy = ",";
try {
br = new BufferedReader(new FileReader(csvFile));
while ((line = br.readLine()) != null) {
// use comma as separator
String[] result = line.split(cvsSplitBy);
System.out.println(" { Rsat_key: " + result[0]
+ " , Retina_id:" + result[1] + ", reason_value:"+result[2]+", real_name:"+result[3]+", work_ph:"++result[4]+"}");
}
如果你想从csv动态分配密钥,那么你也必须阅读csv。
答案 1 :(得分:1)
创建一个类似
的bean@XmlRootElement(name = "employee")
public class Employee {
@XmlElement
private String employeeId;
@XmlElement
private String employeeName;
@XmlElement
private String jobType;
@XmlElement
private String address;
@XmlElement
private Long salary;
//setter and getter
并将值分配给bean,如果您使用@Produces(" application / json")使用restful Web服务,则端点中的注释将生成JSON。
答案 2 :(得分:0)
另一种选择是创建对象模型并使用google gson(用于json)和beanio(用于csv)来序列化和反序列化对象。
https://sites.google.com/site/gson/gson-user-guide
例如使用gson
public class Model1 {
String field1;
//getters and setters
}
然后
Model1 model1 = new Gson().fromJson(YourfileReader);
与beanio的想法相同。
您可以更进一步,在对象上添加相同的方法,以帮助您轻松查找。
希望它能给你灵感。