我想通过提供要删除的值在运行时删除 JSON 数组记录。
我已经尝试了以下代码,但它在每个值上添加一个;/
原始 json 文件:
{"Products":[{"p10":"SamsungS5"},{"i6":"Iphone6"}]}
执行删除操作后,输出变为:
{"Products":[["{\"p10\":\"SamsungS5\"}","{\"i6\":\"Iphone6\"}"]]}
remove 方法的代码为:
public static void removeSearchedClass(String value ) throws IOException, ParseException, InvocationTargetException {
Object obj = new JSONParser().parse(new FileReader(FILE_NAME));
JSONObject jo = (JSONObject) obj;
ArrayList<String> list = new ArrayList<String>();
JSONArray solutions = (JSONArray) jo.get("Products");
int len = solutions.size();
if (solutions != null) {
for (int i=0;i<len;i++){
list.add(solutions.get(i).toString());
}
}
list.remove(value.trim());
solutions.clear();
solutions.add(list);
jo.put("Products", solutions);
FileWriter file = new FileWriter(FILE_NAME, false);
file.append(jo.toString());
file.flush();
file.close();
}
当我输入“iphone6”时,我需要IPHONE6的完整条目,即,将其删除。{"i6":"Iphone6"}
喵喔喔
相关分类