📅  最后修改于: 2023-12-03 15:38:53.418000             🧑  作者: Mango
在开发过程中,我们经常需要获取 Json 对象的所有键值,以下是几种常用的方法。
Object.keys() 方法可以获取 Json 对象的所有键名,并以数组形式返回。示例如下:
const json = { name: "Tom", age: 18, gender: "Male" };
const keys = Object.keys(json);
console.log(keys); // ["name", "age", "gender"]
该方法兼容性较好,但不能获取到对象原型链上定义的键名。
使用 for...in 循环可以遍历所有键名和键值。示例如下:
const json = { name: "Tom", age: 18, gender: "Male" };
for (let key in json) {
console.log(key + ": " + json[key]);
}
// name: Tom
// age: 18
// gender: Male
需要注意的是,该方法可以获取到对象原型链上定义的键名,因此需要判断当前属性是否是对象自身的属性。
使用 JSON.stringify() 方法可以将 Json 对象转化为字符串,并以字符串形式返回所有键值对。示例如下:
const json = { name: "Tom", age: 18, gender: "Male" };
const jsonString = JSON.stringify(json);
console.log(jsonString); // '{"name":"Tom","age":18,"gender":"Male"}'
需要注意的是,该方法有一些限制,比如无法获取对象的函数和循环引用对象。
以上就是几种获取 Json 的所有键值的方法。根据实际需求选择合适的方法即可。