Suponiendo que tengo este formato de datos:
const matchedProperty = "property1" const jsonObject = { "property1": { param1: '', param2: '', param3: '', data: [ {key: value}, {key: value}, {key: value}, {key: value} ], param4: '' }, "propery2": { param1: '', param2: '', param3: '', data: [ {key: value}, {key: value}, {key: value}, {key: value} ], param4: '' } }¿Cómo puedo verificar si la propiedad existe dentro de este json y luego, cómo puedo extraer solo datos [{}] y param1, por ejemplo?
No puedo pensar en algo que sería útil y funcional.
El título no coincide con el cuerpo, así que aquí está la iteración y el acceso directo:
let object = { a: 1, b: 2, c: 3 } for (let key in object) { console.log(key + ' = ' + object[key]) } // a = 1 // b = 2 // c = 3 let vector = ['a', 'b', 'c'] for (let element of vector) { console.log(element) } // a // b // c let vector = ['a', 'b', 'c'] console.log(vector[0]) // a console.log(vector[1]) // b console.log(vector[2]) // c console.log(vector[3]) // undefined let object = { a: 1, b: 2, c: 3 } console.log(object["a"]) // 1 console.log(object.a) // 1 console.log(object["b"]) // 2 console.log(object.b) // 2 console.log(object["c"]) // 3 console.log(object.c) // 3 console.log(object["d"]) // undefined console.log(object.d) // undefined Dado que undefined no se activará en una condición if pero los valores lo harán, simplemente escriba if object["key"] ; ejecutará el siguiente bloque de código si la clave existe; de lo contrario, no lo hará. (Práctica no sugerida).
¿algo como esto?
const matchedProperty = "property1" const jsonObject = { "property1": { param1: '', param2: '', param3: '', data: [ {key: 'value'}, {key: 'value'}, {key: 'value'}, {key: 'value'} ], param4: '' }, "propery2": { param1: '', param2: '', param3: '', data: [ {key: 'value'}, {key: 'value'}, {key: 'value'}, {key: 'value'} ], param4: '' } } const result = jsonObject.hasOwnProperty(matchedProperty)?{param1: jsonObject[matchedProperty].param1, data: jsonObject[matchedProperty].data}:{} console.log(result)