Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

252
Vistas
¿Cómo actualizar objetos JSON grandes?

El servidor me envía datos como JSON para describir un producto. Un producto consta de propiedades y matrices anidadas de propiedades, hasta 4 niveles de profundidad. En la interfaz, el usuario puede actualizar valores anidados profundos. ¿Necesito realizar un seguimiento de la ruta y luego reconstruir todo el objeto JSON para mi llamada POST de actualización? ¿O hay una forma más elegante de hacerlo? ¿O es malo el diseño del servicio backend?

datos como JSON

 { "productId": 10, "features": [ { "id": 45, "name": "Customization", "productOptions": [ { "id": 1, "color": ["red", "green"], }, { "id": 2, "slogans": [ {"id": 32, "name":"Thank You"}, {"id": 33, "name":"Thanks a lot"}, ], } ] } ] }

entrada para editar eslogan

 <input data-id="32" type="text" name="slogan" />

edite JSON para enviar de vuelta al servidor

 const update = {"id": 32, "name":"Thank You so much!"} // update slogan array solgansUpdateIndex = slogans.findIndex(obj => obj.id == 32) slogans[solgansUpdateIndex] = update ... // update whole object for the updating POST call {...data, //updateTree}
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

No debería necesitar enviar todo el objeto de vuelta al servidor. Lo que debe hacer es enviar un conjunto de ID que identifiquen de forma única qué campo debe actualizarse.

Ejemplo: tomemos sus datos donde productId es 10 y featureId es 45

Puede crear un controlador en el backend como updateProductSlogan(int productId, int featureId, int sloganId, String/Slogan newSlogan).

Y luego, lo que debería hacer este punto final es obtener el eslogan correspondiente de su base de datos con una consulta, usando estos identificadores y actualizar ese eslogan con el valor de newSlogan param.

Nota: Si solo el campo que contiene eslóganes es el campo de características, también puede codificarlo y cambiar el método para actualizar el eslogan del updateProductSlogan(int productId, int sloganId, String/Slogan newSlogan). en el que obtendrá la propiedad de características sin necesidad de usar una identificación.

about 4 years ago · Juan Pablo Isaza Denunciar

0

También quiero repetir mi comentario anterior de que, cuando se trabaja con cualquier JSON, siempre (1) se decodifica la cadena JSON en una estructura de datos; (2) trabajar con esa estructura de datos (no con la cadena); y si es necesario (3) codifique la estructura de datos nuevamente en una cadena.

Nunca debe intentar manipular la cadena "como una cadena". Trate el contenido JSON como una caja negra y confíe en que el "anillo codificador/decodificador mágico" siempre hará lo correcto. JSON es un estándar de datos internacional con bibliotecas de codificador/descodificador conocidas que todo el mundo usa.

El mismo principio se aplica a XML, YAML o cualquier otro método de codificación de cadenas. "Es una caja negra".

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda