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

174
Visualizações
¿Cuál es una forma confiable de validar si esta cadena es json válida?

Estoy trabajando en una aplicación donde una función necesita validar si un parámetro de cadena proporcionado es json válido. Pero la función también necesita manejar JSON que se ha copiado de Jira. Por ejemplo, el json podría verse así:

 "{ "query": { "size": 0, "aggregations": { "ipTag": { "terms": { "field": "ipTag", "size": 1001 } } } }, "table": "ip_info_table" }"

No estoy seguro si el siguiente formato del parámetro de cadena se debe a que se copió/pegó de Jira, o si tiene que ver con los controles de entrada de MUI. Pero de todos modos, así es como se ve el formato cuando copio/pego la variable en un reloj CDT:

 "{\n  \"query\": {\n    \"size\": 0,\n ...."
  • JSON.parse (parámetro) arroja un error
  • JSON.parse(JSON.stringify(param)) devuelve el éxito
  • Pero JSON.parse(JSON.stringify('junk')) también devuelve el éxito, aunque una sola palabra de basura no se considera json válida

Entonces, ¿qué tipo de rutina de código recomendaría para manejar este escenario? ¿Hay alguna lógica que pueda usar para formatear el valor del parámetro de entrada de muestra anterior, de modo que JSON.parse() valide correctamente el valor del parámetro como JSON?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

JSON.parse para validar JSON:

 let valid = false; try { JSON.parse(str); console.log('valid'); valid = true; } catch { console.log('invalid'); } console.log(valid);

Ejemplos:

 const json = `{ "query": { "size": 0, "aggregations": { "ipTag": { "terms": { "field": "ipTag", "size": 1001 } } } }, "table": "ip_info_table" }`; try { JSON.parse(json); console.log('valid'); } catch { console.log('invalid'); }

 const json = "{\n \"query\": {\n \"size\": 0\n} }"; try { JSON.parse(json); console.log('valid'); } catch { console.log('invalid'); }

 const json = `{ "query": { "size": 0, "aggregations": { "ipTag": { "terms": { "field": "ipTag", "size": 1001 } } } }, "table": "ip_info_table", }`; try { JSON.parse(json); console.log('valid'); } catch { console.log('invalid'); }

about 4 years ago · Juan Pablo Isaza 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