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

170
Vistas
¿Cómo aplicar formato personalizado para una cadena JSON?

Tengo el siguiente código:

 const sample = [ { name: "apple", points: [ { x: 1, y: 2 }, { x: 3, y: 4 }, { x: 5, y: 6 }, { x: 7, y: 8 } ], age: 24 }, { name: "banana", points: [ { x: 1, y: 2 }, { x: 3, y: 4 }, { x: 5, y: 6 }, { x: 7, y: 8 } ], age: 45 } ]; const qwer = JSON.stringify(sample, null, 2); console.log(qwer);

Si lo ejecuta, notará que tiene un buen formato, excepto por la matriz de puntos, que es extremadamente detallada.

Me gustaría que todo tuviera una sangría normal (es por eso que estoy pasando 2 para que el parámetro final se encadene), pero me gustaría que la matriz de puntos solo tome una sola línea, como se declara en el código.

La razón de esto es que actualmente cada matriz de puntos se extiende a 18 líneas, cuando solo habrá 3 o 4 elementos. Me gustaría que se quedaran en una línea.

Traté de usar un sustituto personalizado y, aunque funcionó, obligó a que la matriz JSON fuera una cadena. Pero no es una cadena. Quiero que siga siendo una matriz.

¿Hay alguna manera de hacer esto?

about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Para la solución general, un mini analizador sería el mejor enfoque, pero un enfoque rápido pero feo sería usar un sustituto para reemplazar las matrices con cadenas en forma de cadena con un valor único como prefijo que se puede reemplazar después.

 const sample = [ { name: "apple", age: 24, points: [ { x: 1, y: 2 }, { x: 3, y: 4 }, { x: 5, y: 6 }, { x: 7, y: 8 } ], }, { name: "banana", age: 45, points: [ { x: 1, y: 2 }, { x: 3, y: 4 }, { x: 5, y: 6 }, { x: 7, y: 8 } ], } ]; const withNestedStringifiedArrays = JSON.stringify( sample, (key, value) => key && Array.isArray(value) ? '@@UNIQUE@@' + JSON.stringify(value) : value, 2 ); const output = withNestedStringifiedArrays.replace( /"@@UNIQUE@@(.*?)"(,)?$/gm, (_, stringifiedArr, possibleComma = '') => stringifiedArr.replaceAll('\\', '') + possibleComma ); console.log(output);

about 4 years ago · Santiago Trujillo 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