【发布时间】:2016-12-15 03:55:50
【问题描述】:
我正在尝试按照this 指南使用改造 2.0 解析 JSON 对象,但它不起作用。我认为这是因为 JSON 格式的不同。
这是一个嵌套的 JSON 对象,格式为:
{
"SearchService": {
"list_total_count": 531,
"RESULT": {
"CODE": "INFO-001",
"MESSAGE": "SUCCESS"
},
"row": [{
"ID": "1983",
"NAME": "SAN",
"NUM": "38",
}, {
"ID": "1984",
"NAME": "DU",
"NUM": "27",
}]
}
}
这是使用 SerializedName 的类代码:
RowList.java
public class RowList {
@SerializedName("row")
@Expose
private ArrayList<Row> rows= new ArrayList<>();
public ArrayList<Row> getRows() {
return rows;
}
public void setRows(ArrayList<Row> rows) {
this.rows= rows;
}
}
Row.java
public class Row{
@SerializedName("ID")
@Expose
private String id;
@SerializedName("NAME")
@Expose
private String name;
@SerializedName("NUM")
@Expose
private String num;
/*getter setter*/
}
【问题讨论】:
-
Retrofit 不解析 JSON。格森可以。您可以使用此站点来获得良好的开端。 jsonschema2pojo.org
-
注意:
"NUM":"38", -
我正在使用 com.squareup.retrofit2:converter-gson:2.0.2 库
-
对。因此,您应该阅读 Gson 文档以了解如何将 JSON 转换为 Java 对象。 Retrofit 仅用于通过网络进行通信。 github.com/google/gson/blob/master/UserGuide.md
标签: android json parsing gson retrofit2