programa Java para escribir y leer un archivo JSON

Crear, escribir y leer en / desde archivo JSON usando Java: Aquí, vamos a crear dos programas java, 1 programa ) que va a escribir el contenido en el archivo JSON y 2) programa que lea el contenido del archivo JSON .

JSON está en un formato de matriz que contiene los pares de valores clave . Podemos hacer esto mediante el uso de la biblioteca sencilla JSON. Sólo tiene que descargar la biblioteca desde abajo y añadir esta biblioteca a su proyecto Java Eclipse donde se hará class a leer y escribir archivos JSON.

Paso 1: Para escribir archivos JSON

Aquí, en primer lugar vamos a crear un archivo JSON y escribir algunos datos en ella . Para ello hacen un llamado class “JSONWrite” en java eclipse.

package logicProgramming;
import java.io.FileWriter;
import java.io.IOException;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
public class JsonWrite {
public static void main(String[] args) {
JSONObject obj = new JSONObject();
//JSONObject class creates a json object,
//provides a put function to insert the details into json object
obj.put("name", "Abhishek Sharma");
obj.put("department","B.E");
obj.put("branch", "C.S.E");
obj.put("year", 3);
JSONArray list = new JSONArray();
//This is a JSON Array List ,
//It creates an array and then add the values in it
list.add("remark 1");
list.add("remark 2");
list.add("remark 3");
obj.put("remarks", list);//adding the list to our JSON Object
try (FileWriter file = new FileWriter("g:newfile.json")) {
//File Writer creates a file in write mode at the given location
file.write(obj.toJSONString());
//write function is use to write in file,
//here we write the Json object in the file
file.flush();
}
catch (IOException e) {
e.printStackTrace();
}
System.out.println(obj);
//to print our JSon object
}
}

Este código se creará un archivo llamado JSON “newfile.json” en la ubicación especificada con los datos siguientes.

salida

Java program to write and read a JSON File - 4

Paso 2: Para leer archivos JSON

Crear un class llamado “JSONRead” en eclipse. En esto vamos a utilizar “JSONParser” para convertir la cadena JSON en el archivo de JSONObject . Para utilizar JSON Analizador se asegura de que la cadena está en formato JSON.

package logicProgramming;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.Iterator;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;
public class JsonRead {
public static void main(String[] args) {
JSONParser parser = new JSONParser();
//JsonParser to convert JSON string into Json Object
try {
Object obj = parser.parse(new FileReader("g:newfile.json"));
//parsing the JSON string inside the file that we created earlier.
JSONObject jsonObject = (JSONObject) obj;
System.out.println(jsonObject);
//Json string has been converted into JSONObject
String name = (String) jsonObject.get("name");
System.out.println(name);
String department = (String) jsonObject.get("department");
System.out.println(department);
String branch = (String) jsonObject.get("branch");
System.out.println(branch);
long year = (long) jsonObject.get("year");
System.out.println(year);
//Displaying values from JSON OBject by using Keys
JSONArray remarks = (JSONArray) jsonObject.get("remarks");
//converting the JSONObject into JSONArray as remark was an array.
Iterator<String> iterator = remarks.iterator();
//Iterator is used to access the each element in the list
//loop will continue as long as there are elements in the array.
while (iterator.hasNext()) {
System.out.println(iterator.next());
//accessing each elemnt by using next function.
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (ParseException e) {
e.printStackTrace();
}
}
}

Esto le mostrará algo como esto:

salida

Java program to write and read a JSON File - 5


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *