# 键列表

使用 lodash _.keys 获取键列表

> 标准页面: https://elysiatools.com/zh/tools/keys-list

- **分类:** Data Processing

- **关键词:** 键, 对象, lodash, 列表, 属性

## 概述

列出对象的自有可枚举键。

**亮点：**
- 使用 lodash `_.keys`
- 仅包含自有属性
- 返回 JSON 键数组

**示例：**
- 对象：`{"a":1,"b":2}`
- 结果：`["a","b"]`

## 输入项

- **对象** (textarea): 输入 JSON 对象

## 适用场景

- 需要快速检查复杂 JSON 对象包含哪些字段时
- 在处理 API 响应数据并需要提取所有键名进行后续映射时
- 在调试代码时需要验证对象结构是否符合预期时

## 工作原理

- 在输入框中粘贴您的 JSON 对象字符串。
- 工具会自动调用 lodash _.keys 方法进行解析。
- 系统将提取对象的所有自有属性并以 JSON 数组形式输出。

## 使用案例

- 快速生成数据模型的字段清单
- 对比两个 JSON 对象的结构差异
- 自动化脚本中提取配置项的键名

## 常见问题

### 该工具支持嵌套对象吗？

支持，该工具会提取输入对象的第一层自有属性键名。

### 它会包含原型链上的属性吗？

不会，该工具仅提取对象的自有（own）可枚举属性。

### 如果输入格式错误会怎样？

如果输入不是有效的 JSON 格式，工具将无法正确解析并可能返回错误提示。

### 该工具是否依赖外部库？

是的，该工具底层使用 lodash 的 _.keys 方法来确保提取逻辑的准确性。

### 输出结果是什么格式？

输出结果为一个包含所有键名的 JSON 字符串数组。

## 相关工具

- [对象继承赋值](https://elysiatools.com/zh/tools/assign-in-object): 使用 lodash _.assignIn 分配自有和继承属性
- [深度默认值](https://elysiatools.com/zh/tools/defaults-deep): 使用 lodash _.defaultsDeep 应用深度默认值
- [遍历对象](https://elysiatools.com/zh/tools/for-in-object): 使用 lodash _.forIn 遍历对象属性
- [遍历自有属性](https://elysiatools.com/zh/tools/for-own): 使用 lodash _.forOwn 遍历对象自有属性
- [按值反转](https://elysiatools.com/zh/tools/invert-by): 使用 lodash _.invertBy 按值分组反转
- [对象反转](https://elysiatools.com/zh/tools/invert-object): 使用 lodash _.invert 反转键和值
- [继承键列表](https://elysiatools.com/zh/tools/keys-in-list): 使用 lodash _.keysIn 获取键列表
- [按键计数](https://elysiatools.com/zh/tools/count-by): 使用 lodash _.countBy 按派生键计数

## 示例

- [Grafana 高级应用示例](https://elysiatools.com/zh/samples/grafana-samples): 全面的 Grafana 示例，涵盖高级仪表板设计、告警配置、数据源集成和插件开发
- [二维码示例](https://elysiatools.com/zh/samples/qrcode-samples): 用于测试二维码读取和生成工具的示例二维码图像
- [D3.js 数据可视化示例](https://elysiatools.com/zh/samples/d3js-data-visualization): 全面的D3.js数据可视化示例，包括图表、地图、动画和交互式可视化
- [Rome JavaScript 工具链示例](https://elysiatools.com/zh/samples/rome): Rome JavaScript 工具链示例，包括配置、代码检查、格式化、打包和项目管理
