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

216
Vistas
¿Sería esta una forma válida de validar la notación de puntos?

Estoy construyendo un componente que acepta una entrada de notación de puntos. Quiero validar la entrada y cuando me detuve a pensar en "qué es una notación de puntos válida", pensé que esta sería una forma simple de hacerlo, pero casi parece demasiado simple, así que ahora me pregunto si me estoy perdiendo algo. :

 function isValidDotNotation(content: string) { try { content.split(".") return true } catch (exception) { return false } }

Asi que:

  • la notación de puntos es una forma de especificar un espacio de nombres dentro de una estructura de datos json, entonces parece que nuestra principal preocupación es validar claves
  • JSON requiere cadenas para las claves
  • el método estático dividido se cuelga de String, por lo que solo podrá dispararlo en una cadena
  • Especificar un índice de matriz en notación de puntos solo hace que los corchetes formen parte de una cadena (por ejemplo, en example.widgets[0].name , widgets[0] sigue siendo una cadena válida cuando .split()
  • Una cadena de notación de puntos de un solo nivel aún se puede dividir en un solo valor de matriz (por ejemplo "test".split(".") todavía funciona)

Entonces, cuando disparamos la división, siempre que no lancemos una excepción, la cadena dada debe ser una notación de punto válida. Puede o no conducirlo a algo dentro de la estructura json, pero en lo que respecta a un valor válido, debería ser bueno, ¿verdad?

¿Me estoy perdiendo algún matiz aquí? He visto ejemplos de personas que recorren la estructura y esas cosas, pero parece una exageración validar a menos que me esté perdiendo algo.

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

string.split nunca arrojará una excepción cuando se pasa una cadena. Por lo tanto, a través de estas reglas, cualquier cadena es una notación de puntos válida. En ese caso, solo necesita verificar si algo es una cadena, lo que puede hacer así:

 typeof content === 'string'
about 4 years ago · Juan Pablo Isaza Denunciar

0

Te estás perdiendo algo. Su código original no funcionará con la entrada:

 content1 = "example.widgets[.0].name" content2 = "example.widgets[0].name."
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