Comment obtenir toutes les clés dans l'objet JSON (javascript)

{"document": {"people":[ {"name":["Harry Potter"],"age":["18"],"gender":["Male"]}, {"name":["hermione granger"],"age":["18"],"gender":["Female"]}, ]} } 

De cet exemple, JSON
Je veux avoir la clé de toutes les clés dans des gens tels que «nom», «âge», «genre». De toute façon, il faut le faire. Merci beaucoup.

Essaye ça

 var s = {name: "raul", age: "22", gender: "Male"} var keys = []; for(var k in s) keys.push(k); 

Le tableau des clés ici renverra vos clés ["name", "age", "gender"]

 var input = {"document": {"people":[ {"name":["Harry Potter"],"age":["18"],"gender":["Male"]}, {"name":["hermione granger"],"age":["18"],"gender":["Female"]}, ]} } var keys = []; for(var i = 0;i<input.document.people.length;i++) { Object.keys(input.document.people[i]).forEach(function(key){ if(keys.indexOf(key) == -1) { keys.push(key); } }); } console.log(keys); 

ES6 du jour ici;

 const json_getAllKeys = data => ( data.reduce((keys, obj) => ( keys.concat(Object.keys(obj).filter(key => ( keys.indexOf(key) === -1)) ) ), []) ) 

Et oui, il peut être écrit en très longue ligne;

 const json_getAllKeys = data => data.reduce((keys, obj) => keys.concat(Object.keys(obj).filter(key => keys.indexOf(key) === -1)), [])