1
{
"response": {
"data": {
"333": [
{
"id": "69238",
"code": "545"
},
{
"id": "69239",
"code": "545",
"marked": "123"
}
],
"544": [
{
"id": "69906",
"code": "544",
"marked": "123"
},
{
"id": "69907",
"code": "544"
}
],
"890": [
{
"id": "69238",
"code": "545",
"marked": "123"
},
{
"id": "69239",
"code": "545"
}
]
}
}
}
私はこのJSON
データをレスポンスとして取得し、マッピングしようとしています。残念ながら私はできません。Javaオブジェクトの型(GsonまたはJacksonなど)の配列を持つJson Parse Json
最初の理由はオブジェクトのインデックスが変更可能です。たとえば、1つの索引890と他の1つは544です。
第2の理由は、オブジェクト内の項目数が異なることです。
私はwww.jsonschema2pojo.orgでJavaクラスを作成しようとします。アンダースコア+整数のクラスがたくさんあります。例えば;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.apache.commons.lang.builder.ToStringBuilder;
public class _544 {
@SerializedName("id")
@Expose
private String id;
@SerializedName("code")
@Expose
private String code;
@SerializedName("marked")
@Expose
private String marked;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getMarked() {
return marked;
}
public void setMarked(String marked) {
this.marked = marked;
}
@Override
public String toString() {
return ToStringBuilder.reflectionToString(this);
}
@Override
public int hashCode() {
return new HashCodeBuilder().append(id).append(code).append(marked).toHashCode();
}
@Override
public boolean equals(Object other) {
if (other == this) {
return true;
}
if ((other instanceof _544) == false) {
return false;
}
_544 rhs = ((_544) other);
return new EqualsBuilder().append(id, rhs.id).append(code, rhs.code).append(marked, rhs.marked).isEquals();
}
}
、もう一つは、この
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.apache.commons.lang.builder.ToStringBuilder;
public class _890 {
@SerializedName("id")
@Expose
private String id;
@SerializedName("code")
@Expose
private String code;
@SerializedName("marked")
@Expose
private String marked;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getMarked() {
return marked;
}
public void setMarked(String marked) {
this.marked = marked;
}
@Override
public String toString() {
return ToStringBuilder.reflectionToString(this);
}
@Override
public int hashCode() {
return new HashCodeBuilder().append(id).append(code).append(marked).toHashCode();
}
@Override
public boolean equals(Object other) {
if (other == this) {
return true;
}
if ((other instanceof _890) == false) {
return false;
}
_890 rhs = ((_890) other);
return new EqualsBuilder().append(id, rhs.id).append(code, rhs.code).append(marked, rhs.marked).isEquals();
}
}
のようなものである等の番号544または890は、どのように私は、Javaでこのダイナミックなインデックス付きデータとのマッピングを行うことができますダイナミック
ですか?
ありがとうございました。
ありがとうございました。それは仕事です。 –