У меня есть этот JSON файл я скачал онлайн:Удаление объекта JSon из файла JSON в Java
{
"price": 1,
"empty": [
0,
0,
0,
0,
0
],
"lowValue": 0,
"highValue": 0
},
и я хочу, чтобы удалить все из
"empty": [
в
],
Я потратил несколько часов на просмотр регулярных выражений, и я не могу понять, как заставить его делать то, что я хочу.
Редактировать: Метод Annamalai Thangaraj работает до тех пор, пока я не добавлю больше файла.
{
"price": 1,
"empty": [
0,
0,
0,
0,
0
],
"lowValue": 0,
"highValue": 0
},
{
"price": 500,
"empty": [
5,
0,
3,
6,
9
],
"lowValue": 4,
"highValue": 2
}
который теперь я дал ошибку:
Exception in thread "main" java.lang.ClassCastException: com.google.gson.JsonArray cannot be cast to com.google.gson.JsonObject
Мой код именно:
public static void go() throws IOException {
JsonObject jsonObject = (JsonObject)JsonParser.parse(new FileReader(location));
jsonObject.remove("empty");
JsonArray jsonArray = (JsonArray)JsonParser.parse(new FileReader(location));
Gson gson = new GsonBuilder().setPrettyPrinting().create();
JsonParser jp = new JsonParser();
JsonElement je = jp.parse(jsonObject.toString());
String prettyJsonString = gson.toJson(je);
FileWriter file = new FileWriter(System.getProperties().getProperty("user.home")+"\\output.json");
try {
file.write(prettyJsonString);
System.out.println("Successfully wrote JSON object to file.");
} catch (IOException e) {
e.printStackTrace();
} finally {
file.flush();
file.close();
}
}
Насколько прочен ли эта потребность быть? Вы имеете дело только с этим точным текстом? Файлы в этом формате, но с потенциально разными значениями? Произвольный JSON? – Michelle
Да, файлы в этом формате, но с разными значениями. Есть 1 666 144 строки этого – Corey
Возможно, вы захотите использовать библиотеку JSON. Есть список доступных на [json.org] (http://json.org/) – Michelle