Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

169
Visualizações
¿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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda