[英]How to fetch embeddedId object in GET call using Spring Data Rest
[英]How to get the first data object of a data object (REST api)
我有一個包含這樣數據的 REST api
{
...
... //<- more data here
...
"currencies": {
"BTN": {
"name": "Bhutanese ngultrum",
"symbol": "Nu."
},
"INR": {
"name": "Indian rupee",
"symbol": "₹"
}
}
...
... //<- more data here
...
}
我正在用 java 做一個項目,我需要使用 okhttp 並從可用的休息 api 顯示有關國家的信息,在我使用這個 api 之前,它在數據數組中包含所有貨幣數據,這很有幫助,因為你可以從數組中獲取第一個零對象,但是在他們更新 api 后,他們將貨幣中的所有數據都設為一個對象,而我只想要第一個對象,有什么辦法可以得到它?
好的,所以你在這里有兩個選擇......
選項 1.創建兩個這樣的類,並使用ObjectMapper
類為您進行自動去實化。
class CurrencyData {
String name;
String symbol;
}
class CurrencyJsonResponse {
CurrencyData INR;
CurrencyData BTN;
}
public static void main(String[] args) {
OkHttpClient client = // build an instance;
ObjectMapper objectMapper = new ObjectMapper();
ResponseBody responseBody = client.newCall(request).execute().body();
CurrencyJsonResponse currencyResponse = objectMapper.readValue(responseBody.string(), CurrencyJsonResponse.class);
//Get data by using getters on currencyResponse object
}
選項 2您可以通過擴展StdDeserializer<T>
類來編寫自定義反實現器。 您必須以編程方式檢查JsonNode
解析樹並組裝所需的對象。
這篇文章解釋了如何做到這一點,並附帶了一個工作代碼示例
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.