 
  Data Structure Data Structure
 Networking Networking
 RDBMS RDBMS
 Operating System Operating System
 Java Java
 MS Excel MS Excel
 iOS iOS
 HTML HTML
 CSS CSS
 Android Android
 Python Python
 C Programming C Programming
 C++ C++
 C# C#
 MongoDB MongoDB
 MySQL MySQL
 Javascript Javascript
 PHP PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
How to add a JSON string to an existing JSON file in Java?
A Gson is a json library for Java and it can be used to generate a JSON. In the initial step, we can read a JSON file and parsing to a Java object then need to typecast the Java object to a JSonObject and parsing to a JsonArray. Then iterating this JSON array to print the JsonElement. We can create a JsonWriter class to write a JSON encoded value to a stream, one token at a time. Finally, a new JSON string can be written to an existing json file.
Example
import java.io.*; import java.util.*; import com.google.gson.*; import com.google.gson.stream.*; import com.google.gson.annotations.*; public class JSONFilewriteTest {    public static String nameRead;    public static void main(String[] args) {       try {          JsonParser parser = new JsonParser();          Object obj = parser.parse(new FileReader("employee1.json"));          JsonObject jsonObject = (JsonObject) obj;          System.out.println("The values of employee1.json file:\n" + jsonObject);          JsonArray msg = (JsonArray)jsonObject.get("emps");          Iterator<JsonElement> iterator = msg.iterator();          while(iterator.hasNext()) {             nameRead = iterator.next().toString();             System.out.println(nameRead);          }          Name name = new Name();          name.setName("Vamsi");          Gson gson = new Gson();          String json = gson.toJson(name);          FileWriter file = new FileWriter("employee1.json", false);          JsonWriter jw = new JsonWriter(file);          iterator = msg.iterator();          Employees emps = new Employees();          while(iterator.hasNext()) {             emps.addEmployee(gson.fromJson(iterator.next().toString(), Name.class));          }          emps.addEmployee(name);          gson.toJson(emps, Employees.class, jw);          file.close();          System.out.println("data added to an existing employee1.json file successfully");       } catch(Exception e) {          e.printStackTrace();       }    } } // Name class class Name {    @Expose    private String name;    public String getName() {       return name;    }    public void setName(String name) {       this.name = name;    } } // Employees class class Employees {    @Expose    List<Name> emps = new ArrayList<>();    public List<Name> getEmployees() {       return emps;    }    public void addEmployee(Name name) {       this.emps.add(name);    } }  Output
The values of employee1.json file: {"emps":[{"name":"Adithya"},{"name":"Jai"}]} {"name":"Adithya"} {"name":"Jai"} data added to an existing employee1.json file successfully employee1.json file
Advertisements
 