Tengo el siguiente archivo JSON:
{ "status": 200, "msg": "OK", "result": { "files": { "count": 1, "pUnJbKzql0f2": { "name": "How do I access this", "active": "yes" } } } } Tengo que acceder al valor del name de la clave en el archivo JSON anterior. El problema es que la clave pUnJbKzql0f2 sigue cambiando cada vez que se solicita el archivo. No tengo control sobre el archivo json. Entonces, ¿cómo accedo al name de la clave? Hablando de PHP , podemos usar la función array_keys o array_key_exists , sin embargo, quiero una respuesta específica de JavaScript para ello.
json['result']['files'][what should I put here]['name']
^^^^^^^^^^^^^^^^^^^^^^^Por favor, si alguien pudiera publicar una solución aquí.
Tienes que examinar el contenido de .result.files . Esto se puede hacer usando un bucle for-in donde se leen las claves.
Este fragmento ilustra cómo encontrar la clave desconocida (y su valor) basándose en que no es el count de claves conocido. Si el objeto tiene más propiedades, tendrá que idear una forma de excluir aquellas excepto la que desea.
let requiredKey = ""; let requiredName = ""; const obj = { "status": 200, "msg": "OK", "result": { "files": { "count": 1, "pUnJbKzql0f2": { "name": "How do I access this", "active": "yes" } } } } files = obj.result.files // and object with 2 properties for (key in files) { if (key != "count") { requiredKey = key; requiredName = files[key].name } // end if; } // next key in files console.log(`${requiredKey} with name property: ${requiredName}`)