【发布时间】:2020-05-14 19:36:28
【问题描述】:
我想如下显示我的 Json 响应。下面是我的课。类名(transaction_status)不应该出现在 json 响应中,他们有什么方法可以实现这一点吗?专家建议?
//Expected json response
{
"view": {
"payment_transaction": [
{
"status": "Delivered",
"reason": "XXX",
"event": [
{
"status": "Delivered",
"reason": "XXX"
}
}
]
}
]
}
}
// but it is coming as below
{
"view": {
"payment_transaction": [
{
"status": "Delivered", // 1)Coming correctly
"reason": "XXX", // 2)Coming correctly
"event": [
{
"transaction_status": { // don't want to this field to come
"status": "Delivered",
"reason": "XXX"
}
}
]
}
]
}
}
public class View {
public static class PaymentExternalView {
@SerializedName("status")
private String transactionStatus;
@SerializedName("reason")
private String transactionStatusReason;
private transient TransactionStatus tranStatus;
public TransactionStatus getTranStatus() {
return tranStatus;
}
public void setTranStatus(TransactionStatus tranStatus) {
this.tranStatus = tranStatus;
}
public String getTransactionStatus() {
this.transactionStatus = tranStatus.getStatus().toString();
return transactionStatus;
}
public void setTransactionStatus(String transactionStatus) {
this.transactionStatus = transactionStatus;
}
public String getTransactionStatusReason() {
this.transactionStatusReason = tranStatus.getReason().toString();
return transactionStatusReason;
}
public void setTransactionStatusReason(String transactionStatusReason) {
this.transactionStatusReason = transactionStatusReason;
}
}
public static class Event {
private TransactionStatus transactionStatus;
//@SerializedName("status") // If I specify these variables error is coming as Multiple json fileds
//private String transactionStatus;
//@SerializedName("reason")
//private String transactionStatusReason;
public TransactionStatus getTransactionStatus() {
this.transactionStatus = tranStatus.t
return transactionStatus;
}
public void setTransactionStatus(TransactionStatus status) {
this.transactionStatus = status;
}
/**
public String getTransactionStatus() {
this.transactionStatus = tranStatus.getStatus().toString();
return transactionStatus;
}
public void setTransactionStatus(String transactionStatus) {
this.transactionStatus = transactionStatus;
}
public String getTransactionStatusReason() {
this.transactionStatusReason = tranStatus.getReason().toString();
return transactionStatusReason;
}
public void setTransactionStatusReason(String transactionStatusReason) {
this.transactionStatusReason = transactionStatusReason;
}
**/
}
}
public class TransactionStatus {
private String status;
private String reason;
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getReason() {
return reason;
}
public void setReason(String reason) {
this.reason = reason;
}
}
我无法修改我在许多其他地方使用的 TransactionStatus 类。在事件类中,如果我尝试设置 @SerializedName("status") 和 @SerializedName("reason") 错误将作为多个 json 字段出现。我想显示我的状态和原因上一级,即想摆脱 json 响应中的“transaction_status”标签。
【问题讨论】:
-
请使用 pojo 类和您将序列化为 json 的代码更新您的问题。