Saltar al contenido

Cómo reemplazar el valor en el archivo json

Mantén la atención ya que en esta noticia hallarás la solución que buscas.

Solución:

Puede probar esto con la biblioteca json simple (biblioteca) . Estoy impreso por separado todos los objetos para su comprensión. COMO declaras el objeto Id dentro de dos objetos más, primero tienes que obtener este objeto y luego obtener el objeto deseado IDNew. Luego ponga un nuevo valor de identificación en el campo de identificación.

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 Main 

    private static final String filePath = "E:\project-test\scloud\test\src\main\resources\test";

    public static void main(String[] args) 

        try 
            // read the json file
            FileReader reader = new FileReader(filePath);

            JSONParser jsonParser = new JSONParser();
            JSONObject jsonObject = (JSONObject) jsonParser.parse(reader);

            System.out.println(jsonObject);


            JSONObject addedObj = (JSONObject) jsonObject.get("Added");
            System.out.println("Added is: " + addedObj);

            JSONObject newmemObject =(JSONObject) addedObj.get("newmem");
            System.out.println("newmemObject is: " + newmemObject);

            JSONObject idNewObj =(JSONObject) newmemObject.get("IDNew");
            System.out.println("IdNewObj is: " + idNewObj);

            long id =Long.valueOf((String) idNewObj.get("id"));
            System.out.println(id);


            idNewObj.put("id",809809809);

            System.out.println(jsonObject);

         catch (FileNotFoundException ex) 
            ex.printStackTrace();
         catch (IOException ex) 
            ex.printStackTrace();
         catch (ParseException ex) 
            ex.printStackTrace();
         catch (NullPointerException ex) 
            ex.printStackTrace();
        

    


O para simplificar puedes usar esto

    FileReader reader = new FileReader(filePath);
    JSONParser jsonParser = new JSONParser();
    JSONObject jsonObject = (JSONObject) jsonParser.parse(reader);
    System.out.println(jsonObject);

    JSONObject idObj = (
       (JSONObject) (
             (JSONObject) (
                (JSONObject)
                   jsonObject.get("Added")
             ).get("newmem")
       ).get("IDNew")
    );

    idObj.put("id", 98009809);
    System.out.println("After ID value updated : "+jsonObject);

Puede actualizar un elemento anidado en un JSONObject usando la librería java simple-json de la siguiente manera:

JSONObject added = (JSONObject) data.get("Added");
JSONObject newmem = (JSONObject) added.get("newmem");
JSONObject idNew = (JSONObject) newmem.get("IDNew");
idNew.put("id","12345678");
System.out.println(data);

Aquí tienes las reseñas y puntuaciones

Agradecemos que desees añadir valor a nuestro contenido participando con tu veteranía en las anotaciones.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : / /

Utiliza Nuestro Buscador

Deja una respuesta

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