Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

213
Views
¿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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!