Я пытаюсь написать парсер Gson для создания POJO из сообщений JMS. Сообщения доставляются в текстовом формате в следующем стиле:Gson Parser не может создавать объекты из массива
{
"priceUpdate":[
{
"symbol":"EUR/USD",
"entryType":"0",
"price":"1.09286"
},
{
"symbol":"EUR/USD",
"entryType":"1",
"price":"1.0929"
}
]
}
Я пытаюсь создать объекты Pojo для каждого элемента в массиве, но код не выполняется при попытке разобрать:
public void consumeMessage(String text) {
try {
PriceUpdateTypeDTO updates = gson.fromJson(text,PriceUpdateTypeDTO.class);
for (PriceUpdateItemDTO u : updates.items) {
if (u.getEntryType() == "0") {
connectedMarket.setBidPrice(Double.parseDouble(u.getPrice()));
} else {
connectedMarket.setOfferPrice(Double.parseDouble(u.getPrice()));
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
Я получаю NullPointer при запуске на сервере Tomcat
java.lang.NullPointerException
at com.markets.ticker.PriceStreamClient.consumeMessage(PriceStreamClient.java:25)
Вот мои POJO классы:
public class PriceUpdateTypeDTO {
private ArrayList<PriceUpdateItemDTO> items;
//getter & setter
}
public class PriceUpdateItemDTO {
private String symbol;
private String entryType;
private String price;
//getters & setters
}
'priceUpdate' vs' items' –
ahhhh так очевидно !!!! Спасибо! –