我有一个看起来像这样的JSON:
{
"results": {
"exchange": [
"site.com",
{
"currency": "usd",
"last_traded": "2015.24"
}
]
}
}
如何获得last_traded
值?
我为此写了一些POJO,但我似乎找不到在exchange
数组中获取键值的方法。
public class ExchangeContainer {
@Expose
private Results results;
public Results getResults() {
return results;
}
public void setResults(Results results) {
this.results = results;
}
@Override
public String toString() {
return ToStringBuilder.reflectionToString(this);
}
}
public class Results {
@Expose
private List<String> exchange = new ArrayList<String>();
public List<String> getExchange() {
return exchange;
}
public void setExchange(List<String> exchange) {
this.exchange = exchange;
}
@Override
public String toString() {
return ToStringBuilder.reflectionToString(this);
}
}
我正在使用GSON反序列化此JSON。
所以为了让我遍历模型是:
ExchangeContainer response;
String rate = response.getResults().getExchange().get(1); // how to continue?
我被困住了。
答案 0 :(得分:0)
使用班级中的implements JsonDeserializer
实施界面
并覆盖deserialize
方法。
答案 1 :(得分:0)
由 >创建创建的字符串列表
&安培; 在创建列表中设置另一个列表,即在交换 通过调用行 它包含 现在获取 字符串[]拆分(“:”) String substring(int beginIndex) 我希望这能解决你的问题。private List<String> exchange = new ArrayList<String>();
public void setExchange(List<String> exchange)
String rate = response.getResults().getExchange().get(1);
"last_traded": "2015.24"
是不是?2015.24
,您有以下选择: -