我的JSON有问题,我的列表中的东西完全适用于我的JSON问题,它会在应用程序重置时从JSON复制我的列表。
所以我想通过编辑旧的来删除JSON中的旧记录,而不是创建保存2个文件的新记录。
这是我的编辑列表代码:
Supplier TempSupplier = new Supplier();
TempSupplier.setmSupplierID(ItemFile.CurSupplierList.get(CurrentSupplierIndex).getmSupplierID());
TempSupplier.setmSupplierName(SupplierNameTextField.getText());
TempSupplier.setmSupplierDescription(SupplierDescriptionTextArea.getText());
TempSupplier.setmDate(ItemFile.CurSupplierList.get(CurrentSupplierIndex).getmDate());
TempSupplier.setmSalesManagerID(ItemFile.CurSupplierList.get(CurrentSupplierIndex).getmSalesManagerID());
基本上只需使用已编辑的信息创建新的临时对象,并在我将其设置为上一个索引,因此我没有添加新列表,只需替换。
ItemFile.CurSupplierList.set(CurrentSupplierIndex, TempSupplier);
完成后我用这个开始我的JSON:
for (int CurSupplier = 0; CurSupplier < CurSupplierList.size(); CurSupplier++) {
JSONObject SupplierObj = new JSONObject();
SupplierObj.put("Status", ItemType);
SupplierObj.put("SupplierID", CurSupplierList.get(CurSupplier).getmSupplierID());
SupplierObj.put("Name", CurSupplierList.get(CurSupplier).getmSupplierName());
SupplierObj.put("Description", CurSupplierList.get(CurSupplier).getmSupplierDescription());
SupplierObj.put("Date", CurSupplierList.get(CurSupplier).getmDate());
SupplierObj.put("SalesManagerID", CurSupplierList.get(CurSupplier).getmSalesManagerID());
ItemListArray.put(SupplierObj);
WriteToFile();
}
因此结论问题发生在JSON中,它在编辑后读取两个列表,实际上只有一个列表建立在我的ArrayList上,但JSON读取两个,只需附加它。