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)