Java Gson解析器无法从数组创建对象
我正试图编写一个Gson解析器来从JMS消息创建POJO。 邮件以以下样式的文本格式发送:Java Gson解析器无法从数组创建对象,java,json,gson,pojo,Java,Json,Gson,Pojo,我正试图编写一个Gson解析器来从JMS消息创建POJO。 邮件以以下样式的文本格式发送: { "priceUpdate":[ { "symbol":"EUR/USD", "entryType":"0", "price":"1.09286" }, { "symbol":"EUR/USD", "entryType":"1", "price":"1.0929" } ] } 我正在尝试为数组中的每个项创建P
{
"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();
}
}
在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
}
公共类PriceUpdateTypeDTO{
私有ArrayList项;
//吸气剂和塞特
}
公共类PriceUpdateItemDTO{
私有字符串符号;
私有字符串入口类型;
私人字符串价格;
//接球手和接球手
}
PriceUpdateTypeDTO中的ArrayList名称需要与JSON中的数组名称相同:
改变
private ArrayList<PriceUpdateItemDTO> items;
私有数组列表项;
到
私有阵列列表价格更新;
反之亦然(将JSON中的数组名称更改为“items”)
priceUpdate
vsitems
ahhh太明显了!!!!非常感谢。
private ArrayList<PriceUpdateItemDTO> priceUpdate;