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

254
Views
¿Cómo leer los datos de objetos dinámicos presentes en JSON?

Estoy obteniendo un JSON de otra aplicación. Me gustaría analizar ese JSON y leer los datos presentes en ellos. El JSON contiene algunos de los datos definidos por el usuario que son dinámicos y el par clave/valor puede ser dinámico, por lo que estoy un poco confundido acerca de cómo leer estos datos dinámicos y realizar un procesamiento posterior.

El siguiente es el JSON de muestra que me gustaría procesar:

 { "context": [ { "one": "https://example.one.com" }, { "two": "https://example.two.com" }, { "three": "https://example.three.com" } ], "name": "Batman", "age": "30", "one:myField": { "two:myField2": "Hello" }, "three:myField3": "Hello2" }

Puedo leer algunos de los datos estáticos/bien definidos directamente, como el name & age , pero no entiendo cómo leer algunos de los datos definidos por el usuario/dinámicos de este JSON, ya que no tiene una clave/valor definido. o no hay garantía de que aparecerá en el pedido después de la propiedad de edad.

Estoy tratando de encontrar una manera de leer/obtener todos los datos definidos por el usuario de este JSON:

 "one:myField": { "two:myField2": "Hello" }, "three:myField3": "Hello2"

¿Hay una forma directa de lograr esto o usar alguna biblioteca? Estoy desarrollando la aplicación usando Vuejs/Nuxtjs.

about 4 years ago · Juan Pablo Isaza
3 answers
Answer question

0

Creo que esa no es la mejor API que está utilizando, debe tener parámetros de objetos constantes para que siempre sepa cómo encontrar cosas. Si desea encontrar parámetros desconocidos, puede analizar JSON para objetar y recorrerlo.

 const object = { a: 1, b: 2, c: 3 }; for (const property in object) { console.log(`${property}: ${object[property]}`); }

about 4 years ago · Juan Pablo Isaza Report

0

Simplemente puede lograrlo iterando sobre Object.keys() .

demostración :

 const jsonData = { "context": [ { "one": "https://example.one.com" }, { "two": "https://example.two.com" }, { "three": "https://example.three.com" } ], "name": "Batman", "age": "30", "one:myField": { "two:myField2": "Hello" }, "three:myField3": "Hello2" }; Object.keys(jsonData).forEach(key => { if (typeof jsonData[key] === 'object') { Object.keys(jsonData[key]).forEach(innerObjKey => { console.log(innerObjKey, jsonData[key][innerObjKey]) }) } else { console.log(key, jsonData[key]) } })

about 4 years ago · Juan Pablo Isaza Report

0

¡Combinando Object.keys con una función recursiva , incluso si tiene varios objetos anidados, funcionará sin tener que refactorizar su código cada vez!

 const jsonData = { context: [ { one: "https://example.one.com", }, { two: "https://example.two.com", }, { three: "https://example.three.com", }, ], name: "Batman", age: "30", "one:myField": { "two:myField2": "Hello", "one_nested:myField": { another_nested_key: "another_nested_value", }, }, "three:myField3": "Hello2", }; recursive(jsonData); function recursive(nestedKey) { if (typeof nestedKey !== "object") return; Object.keys(nestedKey).forEach((key) => { if (typeof nestedKey[key] === "object") { recursive(nestedKey[key]); } else { console.log(key, nestedKey[key]); // add your conditions here if (key === "name") { // bla bla bla } } }); }
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!