長風(fēng)秋雁
2022-06-15 16:29:55
我有一個由多個嵌套對象和對象數(shù)組組成的復(fù)雜Json文件。第一個對象是一個“OptionChain”,它有一個名為“Result”的對象。“結(jié)果”有嵌套對象:“報價”和“選項”。最后,“Options”嵌套了名為“Call”和“Put”的對象數(shù)組。我將所有類變量都用Jackson@JSonProperty注釋并使用Spring Boot來處理對象映射。我是使用杰克遜和對象映射的新手。當我運行程序時,我得到這個錯誤:Caused by: com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "optionChain" (class com.thompson.OptionsImpliedMovement.data.OptionChain), not marked as ignorable (one known property: "result"]) at [Source: (String)"{"optionChain":{"result":[{"underlyingSymbol":"KO","expirationDates":[1550188800,1550793600,1551398400,1552003200,1552608000,1553212800,1553817600,1555545600,1558051200,1561075200,1565913600,1579219200,1610668800],"strikes":[37.0,38.0,40.5,41.5,42.5,43.5,44.5,45.5,46.5,47.5,48.5,49.5,50.5,51.0,51.5,52.0,53.0,53.5,54.0],"hasMiniOptions":false,"quote":{"language":"en-US","region":"US","quoteType":"EQUITY","quoteSourceName":"Nasdaq Real Time Price","currency":"USD","exchangeDataDelayedBy":0,"earnin"[truncated 10817 chars]; line: 1, column: 17] (through reference chain: com.thompson.OptionsImpliedMovement.data.OptionChain["optionChain"])
1 回答

慕萊塢森
TA貢獻1810條經(jīng)驗 獲得超4個贊
在我看來,您正在解組 JSON,{ "optionChain": {...} }但您是直接將其轉(zhuǎn)換為OptionChain. 相反,您需要定義一個具有單個OptionChain成員的類,因為您正在解組包含此optionChain字段的外部對象({ }圍繞整個響應(yīng)的對象是您嘗試解組的對象)。
因此,例如:
public class OptionChainResponse {
@JsonProperty("optionChain")
private OptionChain optionChain;
// getter/setter
}
接著:
OptionChainResponse optionChainResponse = objectMapper.readValue(rawJson, OptionChainResponse.class);
// do some validation or checking maybe
OptionChain optionChain = optionChainResponse.getOptionChain();
添加回答
舉報
0/150
提交
取消