android - JSONArray 仅返回我的数据库的最后一项
问题描述
我怎样才能使JSONArray
数据不重复?
JSONObject parasTransDispatch = new JSONObject();
JSONArray jArrayTransDispatch = new JSONArray();
final List<String> dispControlNoArray = new ArrayList<>();
final List<String> dispTripNoArray = new ArrayList<>();
while (!cursorDispatch.isAfterLast()) {
trans_dispatch_returnID = cursorDispatch.getString(cursorDispatch.getColumnIndex(DBHelper.TRANS_DISPATCH_ID_RETURN));
trans_dispatch_eodID = cursorDispatch.getString(cursorDispatch.getColumnIndex(DBHelper.TRANS_DISPATCH_EOD_ID));
trans_dispatch_routeID = cursorDispatch.getString(cursorDispatch.getColumnIndex(DBHelper.TRANS_DISPATCH_ROUTE_ID));
trans_dispatch_controlNo = cursorDispatch.getString(cursorDispatch.getColumnIndex(DBHelper.TRANS_DISPATCH_CONTROL_NO));
trans_dispatch_busNo = cursorDispatch.getString(cursorDispatch.getColumnIndex(DBHelper.TRANS_DISPATCH_BUS_NO));
trans_dispatch_tripNo = cursorDispatch.getString(cursorDispatch.getColumnIndex(DBHelper.TRANS_DISPATCH_TRIP_NO));
trans_dispatch_bound_trip = cursorDispatch.getString(cursorDispatch.getColumnIndex(DBHelper.TRANS_DISPATCH_BOUND));
trans_dispatch_route = cursorDispatch.getString(cursorDispatch.getColumnIndex(DBHelper.TRANS_DISPATCH_ROUTE));
trans_dispatch_trip_type = cursorDispatch.getString(cursorDispatch.getColumnIndex(DBHelper.TRANS_DISPATCH_TRIP_TYPE));
trans_dispatch_passCount = cursorDispatch.getString(cursorDispatch.getColumnIndex(DBHelper.TRANS_DISPATCH_PASSENGER_COUNT));
trans_dispatch_dispId = cursorDispatch.getString(cursorDispatch.getColumnIndex(DBHelper.TRANS_DISPATCH_DISPATCHER_ID));
trans_dispatch_conId = cursorDispatch.getString(cursorDispatch.getColumnIndex(DBHelper.TRANS_DISPATCH_CONDUCTOR_ID));
trans_dispatch_driId = cursorDispatch.getString(cursorDispatch.getColumnIndex(DBHelper.TRANS_DISPATCH_DRIVER_ID));
trans_dispatch_dri2Id = cursorDispatch.getString(cursorDispatch.getColumnIndex(DBHelper.TRANS_DISPATCH_DRIVER2_ID));
trans_dispatch_datetimeStamp = cursorDispatch.getString(cursorDispatch.getColumnIndex(DBHelper.TRANS_DISPATCH_DATETIMESTAMP));
trans_dispatch_long = cursorDispatch.getString(cursorDispatch.getColumnIndex(DBHelper.TRANS_DISPATCH_LONG));
trans_dispatch__lat = cursorDispatch.getString(cursorDispatch.getColumnIndex(DBHelper.TRANS_DISPATCH_LAT));
dispControlNoArray.add("'" + trans_dispatch_controlNo + "'");
dispTripNoArray.add("'" + trans_dispatch_tripNo + "'");
try {
parasTransDispatch.put("id", trans_dispatch_returnID);
parasTransDispatch.put("eod_id", trans_dispatch_eodID);
parasTransDispatch.put("route_id", trans_dispatch_routeID);
parasTransDispatch.put("company_id", company_id);
parasTransDispatch.put("subcompany_id", subCompanyID);
parasTransDispatch.put("route_id", trans_dispatch_routeID);
parasTransDispatch.put("control_no", trans_dispatch_controlNo);
parasTransDispatch.put("bus_no", trans_dispatch_busNo);
parasTransDispatch.put("trip_no", trans_dispatch_tripNo);
parasTransDispatch.put("bound", trans_dispatch_bound_trip);
parasTransDispatch.put("route", trans_dispatch_route);
parasTransDispatch.put("trip_type", trans_dispatch_trip_type);
parasTransDispatch.put("passenger_count", trans_dispatch_passCount);
parasTransDispatch.put("dispatcher_id", trans_dispatch_dispId);
parasTransDispatch.put("conductor_id", trans_dispatch_conId);
parasTransDispatch.put("driver_id", trans_dispatch_driId);
parasTransDispatch.put("driver2_id", trans_dispatch_dri2Id);
parasTransDispatch.put("datetimestamp", trans_dispatch_datetimeStamp);
parasTransDispatch.put("long", trans_dispatch_long);
parasTransDispatch.put("lat", trans_dispatch__lat);
cursorDispatch.moveToNext();
jArrayTransDispatch.put(parasTransDispatch);
} catch (JSONException e) {
e.printStackTrace();
}
Log.e("jArrayTransDispatch", String.valueOf(jArrayTransDispatch));
这是我正在使用的代码,它返回我最后的数据,但它的计数是否正确?
这是日志
E/jArrayTransDispatch: [{"company_id":"4ed8954c-703e-41b5-94ba-eeb29546e3e3","eod_id":"d4c8d468-63a0-4e3c-9a32-ff880a8b946c","control_no":"11207042018000001","dispatcher_id":"b4d69ae7-2c96-42c6-bf9b-d007331b09a7","datetimestamp":"07\/04\/2018 14:53:10","conductor_id":"00c1e69c-e884-47fe-9be2-a4467aa745a0","id":"b2509b9b-2018-4a2d-962d-d613c087200d","passenger_count":"10","bus_no":"112","trip_type":"REGULAR TRIP","route":"BINAN - BUENDIA","route_id":"1901d3b3-36dd-4f62-b614-adc06e4692b4","trip_no":"4","driver_id":"75459e1c-4352-4650-a7e2-15094c80b1c2","subcompany_id":"2d4d8dc5-e353-444f-ada6-e6d7464fd856","bound":"NORTH"},
{"company_id":"4ed8954c-703e-41b5-94ba-eeb29546e3e3","eod_id":"d4c8d468-63a0-4e3c-9a32-ff880a8b946c","control_no":"11207042018000001","dispatcher_id":"b4d69ae7-2c96-42c6-bf9b-d007331b09a7","datetimestamp":"07\/04\/2018 14:53:10","conductor_id":"00c1e69c-e884-47fe-9be2-a4467aa745a0","id":"b2509b9b-2018-4a2d-962d-d613c087200d","passenger_count":"10","bus_no":"112","trip_type":"REGULAR TRIP","route":"BINAN - BUENDIA","route_id":"1901d3b3-36dd-4f62-b614-adc06e4692b4","trip_no":"4","driver_id":"75459e1c-4352-4650-a7e2-15094c80b1c2","subcompany_id":"2d4d8dc5-e353-444f-ada6-e6d7464fd856","bound":"NORTH"},
{"company_id":"4ed8954c-703e-41b5-94ba-eeb29546e3e3","eod_id":"d4c8d468-63a0-4e3c-9a32-ff880a8b946c","control_no":"11207042018000001","dispatcher_id":"b4d69ae7-2c96-42c6-bf9b-d007331b09a7","datetimestamp":"07\/04\/2018 14:53:10","conductor_id":"00c1e69c-e884-47fe-9be2-a4467aa745a0","id":"b2509b9b-2018-4a2d-962d-d613c087200d","passenger_count":"10","bus_no":"112","trip_type":"REGULAR TRIP","route":"BINAN - BUENDIA","route_id":"1901d3b3-36dd-4f62-b614-adc06e4692b4","trip_no":"4","driver_id":"75459e1c-4352-4650-a7e2-15094c80b1c2","subcompany_id":"2d4d8dc5-e353-444f-ada6-e6d7464fd856","bound":"NORTH"},
{"company_id":"4ed8954c-703e-41b5-94ba-eeb29546e3e3","eod_id":"d4c8d468-63a0-4e3c-9a32-ff880a8b946c","control_no":"11207042018000001","dispatcher_id":"b4d69ae7-2c96-42c6-bf9b-d007331b09a7","datetimestamp":"07\/04\/2018 14:53:10","conductor_id":"00c1e69c-e884-47fe-9be2-a4467aa745a0","id":"b2509b9b-2018-4a2d-962d-d613c087200d","passenger_count":"10","bus_no":"112","trip_type":"REGULAR TRIP","route":"BINAN - BUENDIA","route_id":"1901d3b3-36dd-4f62-b614-adc06e4692b4","trip_no":"4","driver_id":"75459e1c-4352-4650-a7e2-15094c80b1c2","subcompany_id":"2d4d8dc5-e353-444f-ada6-e6d7464fd856","bound":"NORTH"},
{"company_id":"4ed8954c-703e-41b5-94ba-eeb29546e3e3","eod_id":"d4c8d468-63a0-4e3c-9a32-ff880a8b946c","control_no":"11207042018000001","dispatcher_id":"b4d69ae7-2c96-42c6-bf9b-d007331b09a7","datetimestamp":"07\/04\/2018 14:53:10","conductor_id":"00c1e69c-e884-47fe-9be2-a4467aa745a0","id":"b2509b9b-2018-4a2d-962d-d613c087200d","passenger_count":"10","bus_no":"112","trip_type":"REGULAR TRIP","route":"BINAN - BUENDIA","route_id":"1901d3b3-36dd-4f62-b614-adc06e4692b4","trip_no":"4","driver_id":"75459e1c-4352-4650-a7e2-15094c80b1c2","subcompany_id":"2d4d8dc5-e353-444f-ada6-e6d7464fd856","bound":"NORTH"}]
解决方案
JSONObject parasTransDispatch = new JSONObject();
必须在循环的每次迭代中实例化。
推荐阅读
- excel - 在EXCEL中使用条件语句计算唯一记录
- asp.net - 读取 web.config 时出现 IIS 错误 500.19 错误
- python - 为什么我估计的负对数似然损失对于所有输入图像都是恒定的
- ruby-on-rails - 如何在没有 N+1 的自引用表中找到记录的每个升序
- git - git push dry run 和 git pull 有效,但不是 git push
- node.js - 是否可以使用 SAML2 在 ReactJs 应用程序中实现 SSO?如果可能怎么办?
- angular - 角度检查项目是否在带有 Rxjs 运算符的 Observable 数组中
- angular - Angular unit test error ( finalSprintsList.map is not a function ) with jasmine karma
- wso2 - 使用 WSO2 APIM 3.0 配置 WSO2 APIM 分析时出现问题
- ios - 我正在快速处理收藏夹,在 favorite_btn 单击我想将按钮的图像从星形更改为 star.fill