Tengo el siguiente JSON.
let carStr = `{ "_id": "Tesla-200", "Design": { "Wheel": "Black", "Seat": "4", "Speed": "200" } }`; let car = JSON.parse(carStr); let key = "Design.Wheel"; let keys = key.split("."); let value = car[keys[0]][keys[1]]; // Need to get this value dynamically rather than hard-coding console.log(value);La clave es entrada de otra sección. ¿Cómo obtener el valor "Negro" pasando la clave "Design.Wheel" como texto dinámicamente?
Si el problema es que la longitud de la cadena de clave es dinámica, utilice reduce y acceda al valor en cada etapa:
let carStr = `{ "_id": "Tesla-200", "Design": { "Wheel": "Black", "Seat": "4", "Speed": "200" } }`; let car = JSON.parse(carStr); let key = "Design.Wheel"; let keys = key.split("."); let value = keys.reduce((a, c) => a[c], car); console.log(value); key = "Design.Seat"; keys = key.split("."); value = keys.reduce((a, c) => a[c], car); console.log(value); key = "_id"; keys = key.split("."); value = keys.reduce((a, c) => a[c], car); console.log(value); Esto debería funcionar siempre que siempre comience desde la raíz (es decir, siempre se puede acceder directamente a la primera propiedad como car.prop1 .