[英]How do I deserialize this JSON type
我有一個看起來像這樣的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?
而且我被卡住了。
在您的課程中使用implements JsonDeserializer
來實現接口
並覆蓋deserialize
方法。
當您通過創建字符串列表時
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
,您有以下選擇:-
字符串[] split(“:”)
字符串子字符串(int beginIndex)
我希望這能解決您的問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.