Обновление
О, кажется, я забыл опубликовать оригинальный файл JSON.Пожалуйста, поместите student.json
с содержимым ниже: (Необходимо обернуть [
& ]
, чтобы сделать его массивом)
[{"name":"Mahesh","age":10}]
Поскольку вы не можете просто добавлять объекты к исходному объекту, он будетнарушая синтаксис JSON, способ сделать его правильным - поместить их в массив.
Оригинальный ответ
Вам следует перейти на использование массива для хранения нескольких объектов.И используйте FileWriter для вывода.
Пожалуйста, попробуйте этот код, он работает в моем locl env:
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;
import java.io.*;
public class JsonWritingProject {
public static void main(String[] args) {
JSONParser jsonParser = new JSONParser();
try {
Object obj = jsonParser.parse(new FileReader("D:\\student.json"));
JSONArray jsonArray = (JSONArray)obj;
System.out.println(jsonArray);
JSONObject student1 = new JSONObject();
student1.put("name", "BROCK");
student1.put("age", new Integer(3));
JSONObject student2 = new JSONObject();
student2.put("name", "Joe");
student2.put("age", new Integer(4));
jsonArray.add(student1);
jsonArray.add(student2);
System.out.println(jsonArray);
FileWriter file = new FileWriter("D:\\student.json");
file.write(jsonArray.toJSONString());
file.flush();
file.close();
} catch (ParseException | IOException e) {
e.printStackTrace();
}
}
}
И зависимость библиотеки:
dependencies {
compile group: 'com.googlecode.json-simple', name: 'json-simple', version: '1.1'
}