相关文章推荐
高大的佛珠  ·  将 Cisco Unified ...·  3 月前    · 
任性的甜瓜  ·  python ...·  8 月前    · 
文质彬彬的热带鱼  ·  上游新闻·  10 月前    · 
文雅的鞭炮  ·  AxureRP10 ...·  10 月前    · 
仗义的青蛙  ·  handleError ...·  1 年前    · 

如何用java读取存储在Amazon S3中的JSON文件并将其转换为CSV文件

0 人关注

我有一个文本文件存在于Amazon S3桶中,包含JSON对象,我需要解析并提取其中的信息。我如何在Java中做到这一点?

我无法在Java中做到这一点。我只需要能够解析这个JSON文件并转换为csv,然后将这个CSV文件上传到Amazon S3。

一个样本文件是(file.txt)。

{"ID":"abc","mscore":45,"cscore":42,"grade":"A"}
{"ID":"xyz","mscore":41"cscore":35,"grade":"B"}
{"ID":"pqr","mscore":37"cscore":41,"grade":"B"}
{"ID":"mno","mscore":32,"cscore":29,"grade":"C"}

我想把它转换为(file.csv):其中score=mscore+cscore

ID      score      grade
"abc"   87         A
"xyz"   76         B
"pqr"   78         B
"mno"   61         C

-------- UPDATE ---------

我创建了一个学生类

public class Student{
String ID;
int mscore;
int cscore;
String grade;

我使用下面的代码片段来读取JSON对象的文本文件,并将数据存储在一个studentList

S3Object s3Object = s3Client.getObject(new GetObjectRequest(s3BucketName, fileKey)); 
S3ObjectInputStream s3Stream = s3Object.getObjectContent(); 
BufferedReader reader = new BufferedReader(new InputStreamReader(s3Stream, StringUtils.UTF8)); 
List<Student> studentList=null; 
while ((line = reader.readLine()) != null) {
  Student student = objectMapper.readValue(line, Student.class);
  studentList.add(student);