如何使用名称增量值以编程方式实例化新的JSONObject

时间:2019-04-03 08:15:48

标签: java android json

我有一个收集车辆信息的表格。 (即注册号,品牌和型号,购买年份和估计价值)。在此下方,我有一个按钮“添加其他”,使用户可以添加其他车辆的详细信息。用户可以添加无限数量的车辆。每当用户点击“添加另一个”按钮时,我都会在表单中获取详细信息并将其存储在JSONObject中。问题是我不知道用户将添加多少辆车,因此我无法事先实例化JSONObject。当用户单击“添加另一个”按钮时,我需要完成此操作。我还希望JSONObject名称具有一个标准名称,该名称的末尾带有一个增量值(例如vehicle_details1,vehicle_details2,vehicle_details3 ....),以使接收它的脚本能够轻松处理。

1 个答案:

答案 0 :(得分:1)

您应该使用JSONArray

您有一个包含所有汽车的JSONArray(每辆汽车都是一个JSONObject)

JSONArray cars = new JSONArray();
...

private void addCar(Car car, JSONArray carList){
    JSONObject carJson = new JSONObject();
    //if you still want an id name
    String id = "vehicle_details" + (carList.length() + 1);
    carJson.put("id", id);
    carJson.put("registration number", car.getRegistration());
    carJson.put("maker", car.getMaker());
    ...

    carList.put(carJson);
}