是否无法使用Jackson
创建内部类的列表?外部课程Tradables
将完美运作。但是内部类Underlyings将无法工作(当然,如果我将Tradables作为内部类,也是如此)。
有没有办法解决这个问题,而不是让属于json对象数组的每个类都在它自己的类中?
JsonProperty
是否高于set方法也没关系。任何不属于数组的内部类也可以工作。
private String sector_group;
@JsonProperty("underlyings")
private List<Underlyings> listUnderlyings;
@JsonProperty("tradables")
private List<Tradables> listTradables;
public class Underlyings {
private long instrument_id;
private String symbol;
private String isin_code;
public long getInstrument_id() {
return instrument_id;
}
public void setInstrument_id(long instrument_id) {
this.instrument_id = instrument_id;
}
public String getSymbol() {
return symbol;
}
public void setSymbol(String symbol) {
this.symbol = symbol;
}
public String getIsin_code() {
return isin_code;
}
public void setIsin_code(String isin_code) {
this.isin_code = isin_code;
}
}
映射方法
ObjectMapper mapper = new ObjectMapper();
try {
String json = RestLogin.getBaseResource()
.path("instruments").path("lookup").path("market_id_identifier").path(market_id + ":" + identifier)
.request(RestLogin.getResponsetype()).get(String.class);
List<Instrument> tmpInstruments = mapper.readValue(json, mapper.getTypeFactory().constructCollectionType(List.class, Instrument.class));
答案 0 :(得分:1)
Jackson and Inner Classes: yes, you can use, but they must be STATIC inner classes
这是一个片段(但您应该阅读整篇文章以获得更多解释)。
如果你不添加静态,那么对于Jackson以及任何其他数据绑定框架(Hibernate,JAXB)来说,生成的类通常是无用的;通常可以序列化,但从未序列化为