2015-03-23 6 views
0

скажем, у меня есть два файла CSV. файл 1 определяет стандартный файл данных csv & Файл 2 является файлом сопоставления файла 1 & Json теперь я хочу, чтобы я хотел сопоставить эти два файла и сравнить данные файла 1 с Json. & вывести несоответствие как csv.CSV сравнить с JSON

как я могу это достичь?

Файл 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, 
} 

ответ

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.

+0

ну это пример файлов, которые я передаю здесь. реальные файлы слишком велики для назначения вручную. все, что я ищу сейчас, как сопоставить два файла csv и, очевидно, не вручную. – bongboy

+0

r u собирается разоблачить theis JSON как веб-сервис? –

+0

Я на самом деле пытаюсь это сделать. – bongboy

1

Создать боб некоторые вещи, как

@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 

и присвоить значения боба, и если вы используете успокоительной веб-сервиса с помощью @Produces («применение/JSON») аннотацию в конечной точке будет генерировать JSON ,

0

Другим вариантом будет создание объектных моделей и использование google gson (для json) и beanio (для csv), для сериализации и де-сериализации объектов.

https://sites.google.com/site/gson/gson-user-guide

http://beanio.org/

, например, с gson

public class Model1 { 
    String field1; 
    //getters and setters 
} 

затем

Model1 model1 = new Gson().fromJson(YourfileReader); 

та же идея с beanio.

Вы можете использовать его еще и добавить одинаковые методы для своих объектов, чтобы облегчить поиск.

надеюсь, что это даст вам вдохновение.

Смежные вопросы