浏览器本地处理

YAML / Plist 互转

支持字典、数组、字符串、整数、实数和布尔值;只处理可读 XML Plist,并拒绝 ENTITY、危险键和目标格式无法表示的 null。

浏览器本地处理
0 / 1,000,000
转换结果

工具指南

什么是YAML / Plist 互转?

YAML 与 Plist 互转用于 macOS、iOS 和 Apple 工具链中的可读配置。页面生成和解析 XML Property List 1.0 的字典、数组、字符串、整数、实数和布尔值,拒绝实体声明、危险键与 null,并把 date 或 data 节点明确保留为字符串供后续人工处理。常见使用场景包括:生成 Apple 应用 XML Plist 示例。;把 Plist 配置转为易比较的 YAML。;检查字典、数组和布尔值结构。页面同时列出输入边界、输出规则和限制,便于在复制结果或投入实际流程前核对格式、语义与安全注意事项。

适用场景

  • 生成 Apple 应用 XML Plist 示例。
  • 把 Plist 配置转为易比较的 YAML。
  • 检查字典、数组和布尔值结构。

使用方法

  1. 选择 YAML 或 XML Plist 方向。
  2. 检查数据是否只使用支持类型。
  3. 加载示例核对字典和数组。
  4. 执行并修复键值交替错误。
  5. 在 Apple 目标环境中再次验证。
  6. 先使用页面提供的复杂示例验证当前选项和运行方向,再替换为自己的数据。

可运行示例

工作区中的“示例 1”和“示例 2”按钮会载入对应内容。两个示例覆盖不同结构、方向或边界,可以直接运行并观察输出与状态提示。

示例 1

CFBundleName: JSONLane
Enabled: true
Ports: [80, 443]
Theme:
  Primary: '#10243E'

示例 2

<?xml version="1.0" encoding="UTF-8"?>
<plist version="1.0">
  <dict>
    <key>CFBundleName</key><string>JSONLane</string>
    <key>Enabled</key><true/>
    <key>Ports</key><array><integer>80</integer><integer>443</integer></array>
  </dict>
</plist>

输入规则

  • 只接受 XML Plist。
  • Plist 根内必须只有一个数据值。
  • null、ENTITY 和不安全整数会被拒绝。
  • 文本输入在运行前按字符计数,当前页面上限为 1,000,000;文件类功能另按页面显示的文件上限执行。
  • 仅支持 XML Plist,不支持二进制 Plist。

输出规则

  • 输出使用 XML Property List 1.0。
  • date 和 data 导入为字符串。
  • XML 注释和原始空白不会保留。
  • 输出只反映当前输入、方向和选项;切换模式或修改输入后应重新运行,不应把旧结果当成新结果。
  • YAML null 无法转换。

限制与注意事项

  • 仅支持 XML Plist,不支持二进制 Plist。
  • YAML null 无法转换。
  • Plist date 和 data 导入为字符串。

数据处理说明

所有解析、格式转换、Base64 编解码和中间数据都只存在于当前浏览器标签页内。JSONLane 不会上传输入,也不会在刷新或关闭页面后保留本次内容。

FAQ

YAML 或 Plist 内容会上传吗?

不会。输入解析、格式转换和结果生成都只在当前浏览器标签页中完成。

转换结果一定能无损往返吗?

不能。注释、排版、类型系统和二进制能力不同,页面会明确列出需要人工复核的损失点。

为什么合法输入有时仍会被拒绝?

目标格式可能无法安全表示该结构;工具会拒绝危险键、不安全整数、过深数据和含糊映射,避免静默改写。

支持二进制 Plist 吗?

不支持,只处理 XML Property List 1.0。

date 为什么成为字符串?

YAML 没有与目标环境完全一致的日期对象契约,保留文本更明确。

会加载 Plist DTD 吗?

不会,固定 DOCTYPE 会移除,ENTITY 声明会拒绝。

更新日期: 2026-08-09