gpt4 book ai didi

java - 如何删除 json 中不需要的细节

转载 作者:行者123 更新时间:2023-12-01 12:52:29 25 4
gpt4 key购买 nike

我有以下类(class)

@Configurable
@Entity
public class QuestionOption {

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "id")
private Long id;

@Version
@Column(name = "version")
private Integer version;
private boolean isDeleted;
public boolean isDeleted() {
return isDeleted;
}

public void setDeleted(boolean isDeleted) {
this.isDeleted = isDeleted;
}

private String name;

public Long getId() {
return id;
}

public void setId(Long id) {
this.id = id;
}

public Integer getVersion() {
return version;
}

public void setVersion(Integer version) {
this.version = version;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}


}


@Configurable
@Entity
public class ClientQuestionOption {

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "id")
private Long id;

@Version
@Column(name = "version")
private Integer version;

@ManyToOne
private ClientQuestion cqid;

@ManyToOne
private QuestionOption oid;
private boolean isDeleted;
public boolean isDeleted() {
return isDeleted;
}

public void setDeleted(boolean isDeleted) {
this.isDeleted = isDeleted;
}

public Long getId() {
return id;
}

public void setId(Long id) {
this.id = id;
}

public Integer getVersion() {
return version;
}

public void setVersion(Integer version) {
this.version = version;
}

public ClientQuestion getCqid() {
return cqid;
}

public void setCqid(ClientQuestion cqid) {
this.cqid = cqid;
}

public QuestionOption getOid() {
return oid;
}

public void setOid(QuestionOption oid) {
this.oid = oid;
}

}

//////////////////////////////

@Configurable
@Entity
public class ClientQuestion {

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "id")
private Long id;

@Version
@Column(name = "version")
private Integer version;

@NotNull
@ManyToOne
private Client cid;

@ManyToOne
private ParentQuestion pqid;

@ManyToOne
private QuestionType qtid;
private boolean isDeleted;
public boolean isDeleted() {
return isDeleted;
}

public void setDeleted(boolean isDeleted) {
this.isDeleted = isDeleted;
}

public Long getId() {
return id;
}

public void setId(Long id) {
this.id = id;
}

public Integer getVersion() {
return version;
}

public void setVersion(Integer version) {
this.version = version;
}

public Client getCid() {
return cid;
}

public void setCid(Client cid) {
this.cid = cid;
}

public ParentQuestion getPqid() {
return pqid;
}

public void setPqid(ParentQuestion pqid) {
this.pqid = pqid;
}

public QuestionType getQtid() {
return qtid;
}

public void setQtid(QuestionType qtid) {
this.qtid = qtid;
}


}

///////////////////////////

@Configurable
@Entity
public class ParentQuestion {

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "id")
private Long id;

@Version
@Column(name = "version")
private Integer version;

@NotNull
@ManyToOne
private Parent pid;

@ManyToOne
private Question qid;

private boolean isDeleted;

public boolean isDeleted() {
return isDeleted;
}

public void setDeleted(boolean isDeleted) {
this.isDeleted = isDeleted;
}

public Long getId() {
return id;
}

public void setId(Long id) {
this.id = id;
}

public Integer getVersion() {
return version;
}

public void setVersion(Integer version) {
this.version = version;
}

public Parent getPid() {
return pid;
}

public void setPid(Parent pid) {
this.pid = pid;
}

public Question getQid() {
return qid;
}

public void setQid(Question qid) {
this.qid = qid;
}


}

还有更多类(class)

我正在创建一个 json 并像这样

 savedQuestionOptionsList=(List<QuestionOption>)serviceClientServiceImpl.getAllSavedQuestionOptionsList(parentId , Long.valueOf(clientId) );
object.accumulate("savedQuestionOptionsList",savedQuestionOptionsList );

这是我的服务代码

public List<QuestionOption> getAllSavedQuestionOptionsList(Long parentId,long clientId)
{
Client client = (Client) entityManagerUtil.find(Client.class, clientId);
List<QuestionOption> questionsList = (List<QuestionOption>)serviceClientDaoImpl.getAllSavedQuestionOptionsList(parentId,client);
System.out.println("The size is nnnnnnnnnn "+questionsList.size());
for(int i=0;i<questionsList.size();i++)
{
System.out.println("\n"+i+"question option listssssssssssssssssssssssssssssssssssssssssss");
//System.out.println(i+"..qtid::"+questionsList.get(i).getName());
questionsList.get(i).getName();


}

return questionsList;
}

这是我的 dao 代码

public List<QuestionOption> getAllSavedQuestionOptionsList(Long pid,Client client)
{
Long cid=client.getId();
System.out.println("cid " +cid);
System.out.println("clisnt "+client.toString());//qt,cq,p,q
//String queryString="SELECT distinct q FROM Question q , ParentQuestion pq ,Parent p where pq.qid.id = q.id and p.id = pq.pid.id and q.isDeleted=false AND p.id = "+pid+" AND (q.cid.id="+cid+" or q.cid=null)";
String queryString="SELECT qo,cq from QuestionOption qo,ClientQuestionOption cqo,ClientQuestion cq,ParentQuestion pq,Parent p ," +
"Question q ,QuestionType qt WHERE qo.id=cqo.oid.id and cqo.cqid.id=cq.id and cq.qtid.id=4 AND cq.pqid.id=pq.id AND " +
"pq.pid.id=p.id AND pq.qid.id=q.id AND pq.pid.id=:pid AND cq.cid.id=:cid";
Query query=entityManagerUtil.getQuery(queryString);
query.setParameter("pid",pid);
query.setParameter("cid",cid);
List<QuestionOption> questionsList = (List<QuestionOption>)query.getResultList();
return questionsList;

}

我只想要 QuestionOption 和 ClientQuestion 的详细信息,但 json 提供了所有实体类的详细信息

请告诉我该怎么做?

最佳答案

使用@jsonignore anatotion,jackson - springs default converter的一部分.

然后你可以只注释你不想被序列化,从你的代码片段中可以清楚地看出你是如何执行 json 序列化的。但如果你使用 spring,jackson 是最好的选择。

关于java - 如何删除 json 中不需要的细节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24116561/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com