如何将列表转换为可读格式

时间:2015-05-08 06:41:57

标签: java hibernate list spring-mvc collections

当我执行此代码时,我得到了解决方案。我需要将列表转换为可读格式。我的Dao代码是

    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;
}

}

我得到了解决方案,但它的格式难以理解。如何将其转换为可读格式?答案是dao ************ [com.pack.web.model.Data@1233c96,com.pack.web.model.Data@5ec471]。但我需要将列表存储为json格式的文件。我怎么能这样做。

4 个答案:

答案 0 :(得分:1)

您必须覆盖对象的toString()。使用如下或根据您的要求进行更改。

   @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;
        }

        public String toString(){
        return DataId+","+DataName;
        }
}

答案 1 :(得分:1)

覆盖toString()班级中的Data

 @Override
    public String toString() {
        return "Data{" +
                "DataId='" + DataId + '\'' +
                ", DataName='" + DataName + '\'' +
                '}';
      }

然后使用getData()方法。

 for(int i=0;i<blist.size();i++){
            System.out.println(blist.toString());  
  }

答案 2 :(得分:1)

列表将数据视为通用数据。覆盖Data类和Sysout中的tostring()方法使用Arrays.toString(blist.toArray());您将以可读格式获得答案。

答案 3 :(得分:1)

您可以使用JSON方法构建toString格式输出,如下所示:

@Override
    public String toString(){
     StringBuilder builder=new StringBuilder();
     builder.append("{Data : {DataId:\'").append(DataId).append("\' , DataName: \'")
        .append(DataName).append("\' } }");
     builder.toString();
    }

注意:请确保已转义单引号/双引号以获得正确的json输出。