我想遍歷一個 csv 檔案并使用 Spring CrudRepository 將行保存到資料庫中。從我的資料中,我只需要資料物件,錯誤和元資料并不重要。當我對我的資料運行 for 回圈時,它看起來像這樣:
for (int i = 0; i < file.size(); i ) {
System.out.println(file.get(i));
}
[{data=[column1,column2,column3,column4], errors=[], meta={delimiter=,, linebreak=
, aborted=false, truncated=false, cursor=41}}
{data=[data1,data2,data3,data4], errors=[], meta={delimiter=,, linebreak=
, aborted=false, truncated=false, cursor=78}}
{data=[data1,data2,data3,data4], errors=[], meta={delimiter=,, linebreak=
, aborted=false, truncated=false, cursor=134}}]
我試圖在第一個回圈中撰寫另一個回圈,不幸的是它不起作用。我如何閱讀和參考我串列中的這一部分?
[column1,column2,column3,column4],[data1,data2,data3,data4],[data1,data2,data3,data4]
編輯以明確說明:我從前端的用戶那里獲得了一個 csv 檔案,它應該有 4 列。像這樣的東西:

當我將它發送到后端時,我得到了這個 List 集合:
在我的前端:

在我的后端:

uj5u.com熱心網友回復:
在嘗試迭代它們之前,您應該找出正在迭代的物件的外觀。在Java中,你可以得到一個物件的型別o使用o.getClass(),其列印會告訴你的類的名稱,以便您可以看一下它的API時。使用除錯器還可以讓您探索檢查任何物件(及其類),而無需列印任何內容。
無論這些物件是什么類,它們似乎都有資料、錯誤和元欄位 - 所以也許您可以使用以下方法迭代資料:
for (int i = 0; i < file.size(); i ) {
// file.get(i) probably has a getData() method
for (Object o : file.get(i).getData()) {
System.out.println(o);
}
}
uj5u.com熱心網友回復:
使用它來決議陣列或陣列的每個元素。
for (int i = 0; i < file.size(); i ) {
for (Object key : file.get(i).keySet()) {
String keyString = (String) key;
Object keyvalue = file.get(i).get(keyString);
if(keyvalue instanceof JSONArray){
JSONArray array = (JSONArray) keyvalue;
for (int j = 0; j < array.length(); j ) {
System.out.println(array.get(j));
}
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/336790.html
上一篇:電子郵件提醒-正確的時區
下一篇:用嵌套物件內的新鍵值對替換鍵值對
