DA
软件

dasel

使用统一选择语法查询、修改和转换 JSON、YAML、TOML、XML、CSV 等结构化数据的命令行工具。

版本 v3.11.2Windows x64MIT

dasel 的核心用途

dasel(Data-Select)是一款结构化数据命令行工具,能用统一选择语法查询、修改和转换 JSON、YAML、TOML、XML、CSV、HCL、INI 与 KDL。它适合在脚本、CI 和运维流程中读取配置字段、批量调整值,或把一种数据格式转换为另一种格式。

为什么要从只读查询开始

同一份数据在不同格式中的类型、空值、数组和字符串表示并不完全一致,转换工具也可能重排缩进或字段。首次使用应先把示例内容通过标准输入传入,验证选择器返回的字段和值,再把转换结果写到新文件。只有比较差异并准备好备份后,才适合执行修改或覆盖操作。

自动化使用边界

在 CI 中使用 dasel 时应固定版本、输入输出格式和编码,并对关键字段增加断言。配置中如果包含令牌或密钥,不要直接把完整文档打印到日志。复杂选择器还会受到 shell 引号规则影响,Windows PowerShell 脚本应先单独测试转义,再接入批量任务。

维护记录

本页于 2026-08-06 根据项目的多格式支持、查询、修改、转换和 Windows 预编译程序说明复核。归档文件为 v3.11.2 Windows amd64 单文件程序。

SAVE TO CLOUD

保存到自己的网盘

打开网盘后可直接获取,也可以先保存到自己的网盘,方便换设备继续使用。

链接最近检查:2026-08-06
先保存,再按需获取电脑端使用对应网盘 APP 扫码;手机端直接点击保存按钮。
使用指南

dasel Windows 查询和转换数据教程

本页文件是 Windows x64 单一可执行程序。首次使用先做只读查询,再尝试格式转换,最后才在备份文件上测试修改表达式。

安装前准备

  • 准备一份不含真实密钥的 JSON 或 YAML 示例文件,并保留原始副本。
  • 使用 PowerShell 时注意引号、管道和编码规则;脚本环境不同会影响参数解析。
  • 明确输入格式和目标输出格式,尤其是无扩展名文件或通过标准输入传递数据时。
01

安装步骤

  1. 01

    放入固定目录并改名

    将 dasel_windows_amd64.exe 放到工具目录,可按需改名为 dasel.exe;运行版本或帮助参数确认文件可执行。

  2. 02

    决定调用方式

    临时使用可通过完整路径运行,经常使用再把目录加入用户 PATH。避免在不同项目中复制多个无法区分版本的程序。

  3. 03

    建立测试数据

    用包含对象、数组、数字和字符串的小文件测试查询结果,确认 PowerShell 编码与换行不会改变输入。

02

快速上手

  1. 01

    查询嵌套字段

    把 JSON 内容通过标准输入传给 dasel,指定 JSON 输入格式并使用选择器读取嵌套字段,先确认返回值和类型正确。

  2. 02

    转换数据格式

    指定 JSON 输入和 YAML 输出,将结果写入新文件;打开新文件核对数组、数字、布尔值和空值是否保持原意。

  3. 03

    在副本上测试修改

    使用赋值表达式更新字段时先输出完整根对象到新文件,对比差异后再决定是否替换原配置。

使用建议

  • 把只读查询、格式转换和原地修改分开写成不同脚本步骤,出错时更容易定位。
  • CI 中固定 dasel 版本和输入编码,避免升级或平台差异改变生成文件。
  • 处理配置密钥时避免把完整内容打印到构建日志或 shell 历史。
故障排查与卸载方法

PowerShell 中选择器被错误解析怎么办?

使用适合 PowerShell 的单引号包裹选择器,先在简单字段上验证;复杂表达式可写入脚本文件,减少多层转义。

转换后字段类型变化怎么办?

检查源格式对数字、字符串、日期和空值的表示差异,显式指定输入输出格式,并对关键字段做转换前后断言。

  1. 删除程序和 PATH 配置从用户 PATH 中移除工具目录后删除可执行文件;保留仍被脚本引用的固定版本,避免自动化任务突然失效。
常见问题

常见问题

dasel 能处理哪些数据格式?

当前项目说明列出 JSON、YAML、TOML、XML、CSV、HCL、INI 和 KDL;输入与输出格式应明确指定或在执行前核对识别结果。

dasel 修改文件会自动保留原格式吗?

查询、修改和转换可能改变缩进、字段顺序或表示形式。处理真实配置前先复制文件,并比较输出内容,不要直接覆盖唯一副本。

dasel 和 jq 有什么区别?

dasel 的重点是用一套选择语法处理多种结构化格式;如果只处理 JSON 且依赖 jq 的既有脚本生态,继续使用 jq 可能更直接。

下载时需要提取码吗?

夸克网盘无需提取码;百度网盘所需的四位提取码会直接显示在下载入口旁。