簡體   English   中英

將模型列表轉換為json格式

[英]Convert model list into json format

當我執行此操作時,我得到一個結果。 但我想將結果轉換為另一種形式。

public List<Data> getData() {
// TODO Auto-generated method stub
System.out.println("In getData dao************");
session=sessionFactory.openSession();
tx=session.beginTransaction();
List<Data> blist=session.createCriteria(>.class).list();
System.out.println("datalist dao************"+blist);
tx.commit();
session.close();
return blist;
}

Data.java

@Entity
@Table(name="tbl_genere")
public class Data implements Serializable{
private static final long serialVersionUID = 1L;

@Id
@Column(name="dataid")
private String DataId;

@Column(name="dataname")
private String DataName;

public String getDataId() {
return DataId;
}

public void setDataId(String dataId) {
 DataId = dataId;
}

public String getDataName() {
  return DataName;
}

public void setDataName(String dataName) {
DataName = dataName;
}

我得到的結果為[ com.pack.web.model.Data@1233c96, com.pack.web.model.Data@5ec471] 但是我需要將結果存儲為json formate文件。 那就像

{
"datalist":
{

"dataname1","dataname2","dataname3"
}
}

我如何將其轉換為這種甲酸鹽。

嘗試:

Gson gson = new Gson();
gson.toJson(datalist);

通過使用jackson object mapper您可以執行以下操作:

ObjectMapper mapper = new ObjectMapper();

public String convertListArrayToJson(List<Object> objectList) throws JsonGenerationException, JsonMappingException, IOException {
// declaring string type final json array
String finalJsonArray = null;

// declaring the output stream for binding the data into the data
// variable
final OutputStream out = new ByteArrayOutputStream();
// writing the data to the json format using the mapper
mapper.writerWithDefaultPrettyPrinter().writeValue(out, objectList);
// converting the output to the byte data
final byte[] data = ((ByteArrayOutputStream) out).toByteArray();

// converting the byte data of json to the string and storing it to
// the final json array
finalJsonArray = new String(data);


return finalJsonArray;

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM