浏览器本地处理

JSON / Plist 互转

生成和解析 XML Plist 的 dict、array、string、integer、real 与 boolean;日期和 data 反向作为字符串保留,并拒绝外部实体与危险键。

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

工具指南

什么是JSON / Plist 互转?

JSON 与 Plist 互转用于检查 macOS、iOS 和 Apple 工具链中的 XML Property List 配置。页面支持 dict、array、string、integer、real 和 boolean,生成标准 XML Plist 结构;导入时拒绝实体声明和危险键,并把 date 与 data 明确保留为字符串。常见使用场景包括:为应用示例生成可读的 XML Plist。;把 Plist 配置转换成便于比较的 JSON。;检查数组、字典和布尔值的键值结构。页面同时列出输入边界、输出规则和限制,便于在复制结果或投入实际流程前核对格式、语义与安全注意事项。

适用场景

  • 为应用示例生成可读的 XML Plist。
  • 把 Plist 配置转换成便于比较的 JSON。
  • 检查数组、字典和布尔值的键值结构。

使用方法

  1. 选择 JSON 或 XML Plist 方向。
  2. 检查数据是否使用支持的 plist 类型。
  3. 执行转换并修复键值交替错误。
  4. 在 Apple 目标环境中再次验证结果。
  5. 先使用页面提供的复杂示例验证当前选项和运行方向,再替换为自己的数据。
  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。
  • Plist 根元素内必须只有一个数据值。
  • JSON null、实体声明和不安全整数会被拒绝。
  • 文本输入在运行前按字符计数,当前页面上限为 1,000,000;文件类功能另按页面显示的文件上限执行。
  • 仅支持 XML Property List,不支持二进制 Plist。

输出规则

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

限制与注意事项

  • 仅支持 XML Property List,不支持二进制 Plist。
  • JSON null 无法表示。
  • date 和 data 元素导入为字符串。

数据处理说明

Plist XML 解析和生成只在浏览器中进行,不读取本机偏好设置、应用包或外部 DTD。关闭或刷新页面后,本工具不会保留本次数据。

FAQ

转换会上传Plist内容吗?

不会。解析、转换和结果生成都在当前浏览器标签页内完成。

能保证完全无损往返吗?

不能。不同格式的类型、注释、顺序和二进制能力不同,页面会说明主要损失点。

为什么某些输入会被拒绝?

工具会拒绝不安全整数、危险键、过深结构或目标格式无法明确表示的值,避免静默改写。

支持二进制 Plist 吗?

不支持,当前仅处理可读的 XML Property List 1.0。

date 为什么变成字符串?

普通 JSON 没有日期类型,工具以原文本保留,避免隐式时区转换。

DOCTYPE 为什么允许?

标准 Plist 头部的固定 DOCTYPE 会被移除后解析;任何 ENTITY 声明仍会拒绝。

更新日期: 2026-08-09