我有一个包含10列和多行的CSV文件。我想将每一行存储在JSON对象中。例如,文件如下所示:
Name, Age, Address..........and other columns
ABCD, 23 , HOME.............and other columns
所以我希望它作为{"Name":"ABC" ,"Age":"23", "Address":"HOME"}
现在,由于会有多行,如何创建一个JSON对象数组并将每一行存储在一个对象中?如何从JSON对象中检索或打印每一行?
非常感谢。
答案 0 :(得分:5)
JSON对象应该创建如下内容: -
{'UserDetails': [{'Name':'ABC', 'Age':'44', 'Address':'HOME'},
{'Name':'DEF','Age':'23', 'Address':'HOME'}]
.....
.....
}
要检索: -
JSONObject userDet = new JSONObject(user_info);
JSONArray userDetJson = userDet.getJSONArray("UserDetails");
请参阅更多信息Convert a JSON string to object in Java?,Creating & Parsing JSON data with Java Servlet/Struts/JSP和 JSON-lib: Snippets
答案 1 :(得分:1)
创建将包含10个参数的对象
public class LineObject implements Serializable {
private String name;
private int age;
private String address;
//...
// get,set,equals,hashcode
}
然后解析CSV文件,每行保存到LineObject
。通过解析整个文件,您将获得List<LineObject>
。然后使用例如将其序列化为JSON。 Jackson JSON processor
要从JSON获取对象,请再次使用Jackson JSON处理器进行反序列化。