gpt4 book ai didi

android - 通过GSON将JSONArray转换为自定义对象的ArrayList

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

我收到一个 json 字符串形式的响应。在响应中,一个字段可以是对象数组或一个简单对象例如。

类型 1。

[{"0":1, "1":"name1", "id":1, "name":"name1"} , {"0":2, "1":"name2", "id":2, "name":"name2"}]

类型 2。

{"0":1, "1":"name1", "id":1, "name":"name1"}

为了处理这种情况,我创建了两个模型类,一个用于对象数组,一个用于单个对象。

有没有什么聪明的方法来处理这个。

最佳答案

好的。所以,你想使用 GSON。

首先,转到 http://www.jsonschema2pojo.org/并创建一个相关的 POJO 类。

下面是模型类:

Example.java

public class Example {

@SerializedName("0")
@Expose
private Integer _0;
@SerializedName("1")
@Expose
private String _1;
@SerializedName("id")
@Expose
private Integer id;
@SerializedName("name")
@Expose
private String name;

/**
*
* @return
* The _0
*/
public Integer get0() {
return _0;
}

/**
*
* @param _0
* The 0
*/
public void set0(Integer _0) {
this._0 = _0;
}

/**
*
* @return
* The _1
*/
public String get1() {
return _1;
}

/**
*
* @param _1
* The 1
*/
public void set1(String _1) {
this._1 = _1;
}

/**
*
* @return
* The id
*/
public Integer getId() {
return id;
}

/**
*
* @param id
* The id
*/
public void setId(Integer id) {
this.id = id;
}

/**
*
* @return
* The name
*/
public String getName() {
return name;
}

/**
*
* @param name
* The name
*/
public void setName(String name) {
this.name = name;
}

}

现在,如果响应中有 JSONArray,则无需创建第二个 Model 类。您可以尝试以下方法来获取您的 ArrayList<Example> .

Type collectionType = new TypeToken<ArrayList<Example>>() {}.getType();
ArrayList<Example> tripList = tripListGson.fromJson(YOUR JSON ARRAY STRING HERE, collectionType);

希望对您有所帮助。

关于android - 通过GSON将JSONArray转换为自定义对象的ArrayList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32860105/

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