YAML转JSON专用工具 - 定向配置转数据格式
将YAML格式清晰转换为JSON,处理嵌套、数组和字面量,专注单向转换提高准确性。
UD5工具箱
&)或别名(*),展开后内容将保持一致。
*alias 引用,所有别名已被替换为实际值。
YAML 锚点和别名是一种避免重复的机制,类似于编程中的"变量引用"。锚点使用 &name 标记一个节点,别名使用 *name 引用该节点。
这在配置文件(如 Docker Compose、GitLab CI、Ansible、Kubernetes)中非常常见。例如:
# 定义锚点 default_settings: &defaults timeout: 30 retries: 3 # 使用别名引用 service_a: <<: *defaults name: "Service A"
展开后,*defaults 会被替换为 timeout: 30 和 retries: 3。
合并键 << 是 YAML 1.1 规范中定义的映射合并语法。它允许将一个映射(字典)的键值对合并到另一个映射中。
合并键通常与别名结合使用:
base: &base
image: nginx:latest
ports:
- "80:80"
service_web:
<<: *base
environment: production
展开后 service_web 将包含 image、ports 和 environment 三个键。本工具默认支持合并键展开。
可以。别名可以引用包含其他别名的节点,本工具会递归展开所有嵌套引用,直到所有别名都被替换为实际值。
a: &a x: 1 b: &b <<: *a y: 2 c: <<: *b z: 3
展开后 c 将包含 x: 1、y: 2 和 z: 3——所有嵌套引用都被正确解析。
锚点名称遵循以下规则:
&MyAnchor 和 &myanchor 是不同的@、#、$ 等)展开过程中,YAML 解析器会将内容转换为内部数据结构,原始注释会丢失。输出格式(如缩进、引号风格、多行字符串格式)可能与输入有所不同,因为输出是重新生成的规范 YAML。
建议:在最终配置中使用展开后的 YAML 前,检查关键字段的值是否正确。本工具更适合用于理解复杂配置的结构和调试锚点引用关系。
本工具支持 YAML 1.1 和 1.2 规范中的常见数据类型:
- 标记)>)和保留式(|)!!str、!!int 等类型标签锚点和别名可以应用于任何类型的节点,包括标量、序列和映射。
正常情况下,展开后的输出不应包含别名(*name)。如果输出中仍有锚点符号,可能的原因:
& 或 * 出现在字符串值内部(如 text: "价格 * 数量"),这些不是别名,不会被展开&name)本身在展开后可能保留(取决于实现),但对应的别名引用已被替换本工具使用深度克隆确保输出中完全消除别名引用,所有 *name 都会被替换为实际内容。
本工具在浏览器中运行,适合处理中小型 YAML 文件(通常不超过 500KB)。对于包含大量锚点嵌套或循环引用的极端情况,建议分批处理。
性能参考:处理约 1000 行含 50+ 锚点别名的 YAML 通常在 100ms 以内完成。
YAML 锚点/别名与 JSON 的 $ref(如 JSON Schema 或 OpenAPI 中的引用)不同:
本工具专注于展开 YAML 的原生锚点/别名机制。
YAML 锚点和别名在以下工具/平台中广泛使用:
<<: *common 共享服务配置.gitlab-ci.yml 中使用锚点复用 job 模板使用本工具可以快速理解这些配置中锚点展开后的完整结构。
将YAML格式清晰转换为JSON,处理嵌套、数组和字面量,专注单向转换提高准确性。
将任意字符或Emoji密铺成无缝图案背景,调节大小和间距,生成CSS背景。
使用自定义关键词生成5x5方阵,对明文进行Playfair双字母组加密和解密。
生成带有onerror备用图片逻辑的img标签代码,防止破图。
输入密文,通过字母频率分布建议可能的替换映射,帮助破解简单替换密码。
输入商品名称、价格、库存和评价,生成 Product 结构化数据,有助于商品搜索展示。
给出具体手牌与和牌情况,要求计算出符数与得点,加深计分规则。
根据 JSON 示例数据生成对应的 Protobuf 消息定义(.proto),字段类型自动映射,支持嵌套。
输入多尺寸图片URL,生成带srcset和sizes的响应式img标签,适配各种屏幕。
输入用户查询,测试 Dialogflow 代理的意图匹配、参数提取和回复。
输入标的价格、执行价、到期时间、波动率等参数,实时计算欧式看涨看跌期权理论价格及希腊字母。
输入一个成语,自动列出所有可接龙的成语(首字与末字相同),支持模糊音匹配,辅助文字游戏。
点击情绪轮盘的外圈细分,了解精准描述心情的词汇。
大屏显示抽取的数字,语音播报,支持75球或90球模式。
通过表单或拖拽节点生成流程图、时序图等Mermaid代码,实时预览,适合文档编写。
生成随页面滚动而自动隐藏或显示的顶部导航栏代码,带平滑过渡。
生成一个从左侧或右侧滑出、带有透明遮罩层的移动端菜单组件。
对比用CSS媒体查询、类名切换和localStorage持久化三种暗黑模式实现方式。
将SSH公钥或任何哈希通过“随机艺术”算法绘制成独特的ASCII图案指纹。
随机生成趣味工作状态说明及Emoji,可一键复制设置到Slack或Teams,活跃氛围。
显示汉字标准笔顺动画,使用触摸或鼠标描红,根据轨迹准确度给予评分,适合汉字学习。
输入各类别增减数值,生成瀑布图,清晰展示从初始值到最终值的累积变化过程。
拖拽彩色珠子到杆上,模拟十进制数位,帮助儿童理解加减法。
生成长文折叠渐变和“展开阅读全文”按钮,支持自定义高度和过渡动画。
将杂乱的 Markdown 表格代码一键对齐列宽并补充分隔行,使源码更可读。
使用零宽字符、HTML实体或组合字符技术将文本混淆,增加自动抓取难度,前端安全无需服务器。
随机展示带升降号的五线谱,输入对应的大调或小调名称,练习快速识调。
上传包含地址的CSV,调用地理编码服务(需Key或演示)批量转换为经纬度。
播放标准NATO音标字母发音,用户选择对应的单词。
粘贴英文段落,基于规则高亮主谓一致、冠词等常见语法问题并给出修正。