我創建了一個CSV導出器,我將JSON格式的字符串轉換爲對象集合,然後轉換爲字符串列表。現在將JSON格式的字符串轉換爲CSV /字符串列表
Gson gson = new Gson();
Type collectionType = new TypeToken<Collection<itemModel>>(){}.getType();
Collection<itemModel> objects = gson.fromJson(jsonString, collectionType);
// jsonString = "[{"name":"A","number":25},{"name":"B","number":26}]"
String filename = "export.csv";
FacesContext fc = FacesContext.getCurrentInstance();
ExternalContext ec = fc.getExternalContext();
ec.responseReset();
ec.setResponseContentType("text/comma-separated-values");
ec.setResponseHeader("Content-Disposition", "attachment; filename=\"" + filename + "\"");
OutputStream output = ec.getResponseOutputStream();
List<String> strings = new ArrayList<String>();
for (itemModel obj : objects) {
strings.add(obj.getName() + ";" + obj.getNumber() +"\n");
}
for (String s : strings) {
output.write(s.getBytes());
}
fc.responseComplete();
,我願做一個新的字符串添加到列表動態和替換該行:strings.add(obj.getName() + ";" + obj.getNumber() +"\n");
應該更加強勁。如果我不知道屬性的確切名稱,是否可以調用所有getter?
或者更好的解決方案如何將JSON格式的字符串轉換爲字符串列表?
任何意見將不勝感激!
試試這個鏈接http://stackoverflow.com/questions/8724866/how-to-convert-data-base-records-into-csv-file-in-android。我希望這能幫到您。 – malavika
感謝您的建議,但我沒有看到有可能的解決方案。我需要動態調用對象類的所有getter或找到另一個更好的解決方案。 – PrincAm