亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將包含對象數組的 JSON 轉換為正確的 Java 對象

將包含對象數組的 JSON 轉換為正確的 Java 對象

德瑪西亞99 2023-07-19 17:10:33
我有一個簡單的 Spring Boot 項目,其中調度程序定期使用 RESTful API 并轉換傳入的 JSON 文件。JSON 文件實際上是具有一些鍵和值的對象數組:[{"CoID":1,"CoName":"??????? ? ???????? ?????","CoNameEnglish":"MagsalAgriculture & Animal Husbandry Co.","CompanySymbol":"MAGS","CoTSESymbol":"?????","GroupID":1,"GroupName":"??????? ? ????????","IndustryID":1,"IndustryName":"???????? ???????? ? ????? ?????? ?? ??","InstCode":"5054819322815158","TseCIsinCode":"IRO1MAGS0006","TseSIsinCode":"IRO1MAGS0001","MarketID":1,"MarketName":"????"},...]我有一個名為的類,其Company字段與 JSON 文件中數組中的對象之一類似:@JsonIgnoreProperties(ignoreUnknown = true)public class Company {private int CoID;private String CoName;private String CoNameEnglish;private String CompanySymbl;private String CoTSESymbl;private int GroupID;private String GroupName;private int IndustryID;private String IndustryName;private String IndustryCode;private String TseCIsinCode;private String TseSIsinCode;private int MarketID;private String MarketName;    // And proper getters, setters and constructor //我還創建了一個名為的包裝類CompanyList:public class CompanyList {private ArrayList<Company> companyList;public ArrayList<Company> getCompanyList() {    return companyList;}public void setCompanyList(ArrayList<Company> companyList) {    this.companyList = companyList;}public CompanyList() {}@Overridepublic String toString() {    return "CompanyList [companyList=" + companyList + "]";}}
查看完整描述

1 回答

?
SMILET

TA貢獻1796條經驗 獲得超4個贊

第二種和第三種方法應該可以正常工作。您需要檢查您的 json 響應結構。

您可以使用以下 json 進行測試(它們適用于您的代碼):

第二種方法:

[{"tseCIsinCode":null,"tseSIsinCode":null,"coName":"n1","industryID":0,"coID":0,"coNameEnglish":null,"companySymbl":null,"coTSESymbl":null,"groupID":0,"groupName":null,"industryName":null,"industryCode":null,"marketID":0,"marketName":null},{"tseCIsinCode":null,"tseSIsinCode":null,"coName":"n2","industryID":0,"coID":0,"coNameEnglish":null,"companySymbl":null,"coTSESymbl":null,"groupID":0,"groupName":null,"industryName":null,"industryCode":null,"marketID":0,"marketName":null}]

第三:

{"companyList":[{"coName":"n1","coID":0,"coNameEnglish":null,"companySymbl":null,"coTSESymbl":null,"groupID":0,"groupName":null,"industryID":0,"industryName":null,"industryCode":null,"tseCIsinCode":null,"tseSIsinCode":null,"marketID":0,"marketName":null},{"coName":"n2","coID":0,"coNameEnglish":null,"companySymbl":null,"coTSESymbl":null,"groupID":0,"groupName":null,"industryID":0,"industryName":null,"industryCode":null,"tseCIsinCode":null,"tseSIsinCode":null,"marketID":0,"marketName":null}]}

更新:

第二種方法修復:更改 json 字段名稱 -“CoName”->“coName”、“CoID”->“coID”等。更改后它將完美運行。

第三種方法修復:用第二種方法包裝你的 json"{\"companyList\":[...] 并更改字段名稱

第二次更新 如果您無法更改響應中的 json。您可以在 Company 類中使用映射

@JsonProperty("CoName")
private String CoName;


查看完整回答
反對 回復 2023-07-19
  • 1 回答
  • 0 關注
  • 139 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號