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

140
Vistas
Nombres de propiedades JSON con puntos en Javascript usando una biblioteca similar a Jackson

Necesito crear un Json con nombres de campo con puntos '.' en la aplicación javascript (mecanografiado)

Salida esperada de Json:

 { "tasks.max": "1", "key.converter": "io.confluent.connect.avro.AvroConverter", "topics": "eraseme_topic_schema_test_v05" }

Probé ts-jackson y jackson-js, Ejemplo de código usando ts-jackson

MiDominio.ts

 @Serializable() import { JsonProperty,Serializable } from 'ts-jackson'; export class MyDomain{ @JsonProperty({path: 'tasks.max', elementType: String}) tasks_max: string; @JsonProperty({path: 'key.converter'}) key_converter: string; @JsonProperty({path: 'topics'}) topics: string; }

Pero las propiedades con puntos se crean como subclases en la salida Json en lugar de un campo de propiedad con punto.

 { tasks: { max: '1' }, key: { converter: { schema: [Object] } }, topics: 'eraseme_topic_schema_test_v05' }

¿Cómo puedo establecer puntos en el nombre de los campos Json en Javascript usando una biblioteca similar a Jackson?

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

0

Este comentario de joniba en el repositorio de github de lodash muestra cómo acceder a las propiedades que contienen puntos usando lodash:

 // lodash set const o = {} _.set(o, 'a["bc"]', 1) // returns { a: { 'b.c': 1 } }

Esto funciona con lodash obtener:

 // lodash get const obj = {'a.b': 'value'}; _.get(obj, '["ab"]'); // 'value'

Por lo tanto, debería ser posible escribir las propiedades de la path ts-jackson de esta manera:

 export class MyDomain{ @JsonProperty({path: '["tasks.max"]', elementType: String}) tasks_max: string; @JsonProperty({path: '["key.converter"]'}) key_converter: string; @JsonProperty({path: 'topics'}) topics: string; }
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