[{"data":1,"prerenderedAt":221},["ShallowReactive",2],{"page-zh":3,"article-list-zh":127,"article-zh-yaml-vs-json":153},{"id":4,"title":5,"body":6,"description":17,"extension":18,"eyebrow":19,"faqIntro":20,"faqLabel":21,"faqTitle":22,"faqs":23,"footerRule":42,"footerRuleLabel":43,"footerTagline":44,"guideIntro":45,"guideLabel":46,"guideTitle":47,"intro":48,"meta":49,"navigation":50,"openTool":51,"path":52,"pitfalls":53,"pitfallsIntro":66,"pitfallsLabel":67,"pitfallsTitle":68,"reasons":69,"referenceIntro":82,"referenceLabel":83,"referenceNoteLabel":84,"referenceRows":85,"referenceTitle":110,"seo":111,"seoTitle":112,"stem":113,"steps":114,"workflowLabel":124,"workflowTitle":125,"__hash__":126},"pages\u002Fzh-cn\u002Findex.md","YAML 转 JSON 转换器",{"type":7,"value":8,"toc":13},"minimark",[9],[10,11,12],"p",{},"无需把源文件发送到转换服务器，即可把 YAML 配置和数据转换为符合标准的 JSON。",{"title":14,"searchDepth":15,"depth":15,"links":16},"",2,[],"在浏览器中把 YAML 转换为有效 JSON。支持多文档、缩进选择、复制与下载，无需上传文件。","md","专注的 YAML 工作区","解答 YAML 中无法完整映射到 JSON 的部分。","05 \u002F 参考问答","YAML 转换常见问题",[24,27,30,33,36,39],{"question":25,"answer":26},"我的 YAML 会被上传吗？","不会。解析、JSON 生成、复制和下载准备都在浏览器中完成。",{"question":28,"answer":29},"是否支持多个 YAML 文档？","支持。用 --- 分隔的文档会作为一个 JSON 数组返回。",{"question":31,"answer":32},"支持哪个 YAML 版本？","解析器采用 YAML 1.2 行为，避免 YAML 1.1 中一些意外的布尔值转换。",{"question":34,"answer":35},"所有 YAML 特性都能转为 JSON 吗？","不能。JSON 数据模型更小，注释、锚点、标签和原始格式不会保留。",{"question":37,"answer":38},"YAML 锚点和别名会怎样处理？","解析器会展开别名，JSON 接收解析后的实际值；锚点名称、别名和合并语法不会保留。",{"question":40,"answer":41},"为什么某个 YAML 值的类型发生了变化？","未加引号的 YAML 标量可能是字符串、数字、布尔值或 null。带前导零的标识符和类似日期的文本应使用引号。","浏览器本地处理，无需账户，输出标准 JSON。","处理原则","将人类可读配置转换为严格数据的专用工具。","了解灵活的 YAML 文档转换为严格 JSON 时最重要的细节。","02 \u002F YAML 笔记","谨慎处理 YAML，稳定生成 JSON。","将易读的 YAML 转换为严格 JSON，提供清晰的语法反馈，并且无需上传内容。",{},true,"打开转换器","\u002Fzh-cn",[54,57,60,63],{"title":55,"body":56},"注释不是数据","YAML 注释方便阅读，但不属于解析后的值。JSON 无法保留注释内容及其原始位置。",{"title":58,"body":59},"锚点会被展开","别名和合并键用于减少 YAML 重复内容；JSON 结果只保留展开后的值，不保留锚点名称和语法。",{"title":61,"body":62},"映射键必须变成字符串","JSON 对象的键只能是字符串。使用复杂键或非字符串键的 YAML 映射需要额外检查。",{"title":64,"body":65},"日期形文本建议加引号","不同 YAML 工具可能用不同方式解释类似日期的标量。如果必须保留原始文本，请明确加引号。","转换会保留 JSON 能表示的数据。注释、排版以及 YAML 独有特性因为没有标准 JSON 对应语法，只能被解析或舍弃。","04 \u002F 转换边界","JSON 无法继续承载的信息",[70,74,78],{"title":71,"body":72,"icon":73},"面向 YAML 的错误提示","解析失败时保留行号和上下文，不会只返回空结果。","lucide:scan-line",{"title":75,"body":76,"icon":77},"支持多文档","使用 --- 分隔的 YAML 流会转换为 JSON 数组，不会静默丢弃文档。","lucide:layers-3",{"title":79,"body":80,"icon":81},"默认在浏览器本地运行","文本和本地文件只在当前标签页中处理，不需要账户或服务器队列。","lucide:shield-check","常见结构通常可以直接映射，但 YAML 的数据模型比 JSON 更丰富。在把配置交给 API 或应用前，可以先通过这张表确认转换结果。","03 \u002F 类型映射","转换说明",[86,90,94,98,102,106],{"yaml":87,"json":88,"note":89},"name: Ada","\"name\": \"Ada\"","YAML 的普通字符串和带引号字符串都会成为使用双引号的 JSON 字符串。",{"yaml":91,"json":92,"note":93},"enabled: true","\"enabled\": true","YAML 1.2 布尔值会保留为布尔值；yes 和 no 会按字符串处理。",{"yaml":95,"json":96,"note":97},"count: 42","\"count\": 42","常见整数和小数会成为 JSON 数字，并受 JavaScript 数字精度限制。",{"yaml":99,"json":100,"note":101},"items: [a, b]","\"items\": [\"a\", \"b\"]","块序列和流式序列都会成为 JSON 数组，元素顺序保持不变。",{"yaml":103,"json":104,"note":105},"value: null","\"value\": null","YAML 的 null 和空值通常都会转换为 JSON null。",{"yaml":107,"json":108,"note":109},"--- \u002F ---","[{…}, {…}]","多个 YAML 文档会合并到一个 JSON 数组中，避免遗漏任何文档。","YAML 值转换成 JSON 后是什么样",{"title":5,"description":17},"YAML 转 JSON 在线转换器 - 浏览器本地处理","zh-cn\u002Findex",[115,118,121],{"title":116,"body":117},"添加 YAML","粘贴 YAML、载入内置示例，或选择本地 .yaml、.yml 文件。",{"title":119,"body":120},"本地转换","浏览器按照 YAML 1.2 解析数据，并将结果序列化为标准 JSON。",{"title":122,"body":123},"使用结果","复制格式化 JSON，或下载 UTF-8 文件用于 API、应用、测试和迁移。","01 \u002F 转换流程","从可读配置到严格数据","RDyCQGIU3NWw9KwdRV86tvoyphUMUAgmtdPNAl0CLOA",[128,133,138,143,148],{"slug":129,"title":130,"description":131,"eyebrow":132},"fix-invalid-yaml","如何修复无效 YAML","在转换为 JSON 前，排查 YAML 的缩进、制表符、冒号、引号和列表错误。","错误排查",{"slug":134,"title":135,"description":136,"eyebrow":137},"multiple-yaml-documents-to-json","将多个 YAML 文档转换为 JSON","了解由 --- 分隔的 YAML 文档流如何转换成清晰、可移植的 JSON。","YAML 文档流",{"slug":139,"title":140,"description":141,"eyebrow":142},"yaml-anchors-aliases-json","YAML 锚点和别名转换为 JSON","了解 YAML 锚点、别名和合并键在转换为 JSON 时如何展开。","锚点与别名",{"slug":144,"title":145,"description":146,"eyebrow":147},"yaml-data-types-to-json","YAML 数据类型如何转换为 JSON","了解 YAML 字符串、数字、布尔值、null、日期和标签值如何映射到 JSON。","数据类型",{"slug":149,"title":150,"description":151,"eyebrow":152},"yaml-vs-json","YAML 与 JSON：语法、优势和转换限制","比较 YAML 和 JSON 的语法、类型、注释、锚点，以及转换过程中可能发生的信息变化。","格式对比",{"id":154,"title":150,"body":155,"description":151,"extension":18,"eyebrow":152,"faqs":159,"intro":169,"meta":170,"navigation":50,"path":171,"relatedGuides":172,"sections":173,"seo":215,"seoTitle":216,"slug":149,"stem":217,"type":218,"updated":219,"__hash__":220},"articles\u002Fzh-cn\u002Farticles\u002Fyaml-vs-json.md",{"type":7,"value":156,"toc":157},[],{"title":14,"searchDepth":15,"depth":15,"links":158},[],[160,163,166],{"question":161,"answer":162},"处理YAML 与 JSON会改变原始数据吗？","如果操作只改变表示方式，数据含义原则上不应变化；但解析器可能展开别名、规范化数字、丢弃注释或选择不同文本风格。应比较解析结构并核对目标系统规则。",{"question":164,"answer":165},"怎样验证结果可靠？","在条件允许时分别解析操作前后的内容，比较键名和值类型，再把结果交给真实目标程序测试。只靠肉眼对比可能遗漏 null、数字、布尔值、编码或重复键差异。",{"question":167,"answer":168},"哪些情况不适合自动转换？","当源文件使用实现专属扩展、重复键、自定义标签、承载运维信息的注释，或含有无法安全表示的高精度数字时，不应无人值守地自动转换。","YAML 和 JSON 都能表示对象与数组，但它们面向不同的编写和数据交换场景。",{},"\u002Fzh-cn\u002Farticles\u002Fyaml-vs-json",[144,139,134],[174,179,184,189,198,204,209],{"title":175,"paragraphs":176},"共同的数据模型",[177,178],"两种格式都能表示映射、序列、字符串、数字、布尔值和 null。常规配置通常可以在不改变业务数据的情况下完成转换。","JSON 使用花括号、方括号和逗号；YAML 主要依赖缩进和行结构。",{"title":180,"paragraphs":181},"YAML 独有的功能",[182,183],"YAML 支持注释、锚点、别名、标签、块字符串和多文档流，JSON 没有对应语法。","转换时别名会展开，注释会消失，多个文档会放入一个数组。",{"title":185,"paragraphs":186},"如何选择格式",[187,188],"JSON 适合 API 和严格的机器交换；YAML 更适合由人维护的配置文件。","投入生产前，应检查日期、大整数、非字符串键和标签值。",{"title":190,"paragraphs":191,"bullets":194},"可靠的分步处理流程",[192,193],"应把YAML 与 JSON视为一次有明确输入、预期结构和目标系统的数据转换。先复制原文，在改变表示方式前完成验证，再提取一个足以复现问题的最小样例。这样才能把语法错误与数据模型或业务错误分开。","每次只做一项修改，并在每次修改后重复同一套验证。自动化流水线遇到解析错误时应直接失败，不能发布残缺或猜测修复的结果。需要审计时，应把原始输入和生成文件一同保留。",[195,196,197],"比较时要覆盖创建、审阅、传输和读取各阶段，不能只看文件外观。","使用有代表性的真实数据测试，因为嵌套、重复键、注释和传输编码都会影响实际结果。","明确唯一事实来源并自动转换，避免两份都可编辑的文件逐渐不一致。",{"title":199,"paragraphs":200,"code":203},"实例与验证方法",[201,202],"下面的示例刻意保持简短，便于逐项核对。处理真实文件时也应检查每个键、标量类型、数组顺序以及嵌套边界，而不是只确认页面显示“成功”。","转换或压缩成功，只能证明源文本可以被解析。还应比较操作前后的结构化值，并使用生产环境真正采用的库或平台重新读取结果，才能发现实现差异。","authoring YAML → validate → exchange JSON",{"title":205,"paragraphs":206},"限制与边界情况",[207,208],"YAML 与 JSON的难点通常来自“语法有效”和“业务可用”之间的差别。解析器接受的数据仍可能缺少字段、含义模糊、体积过大，或不符合目标系统的模式。","不要盲目修复或规范化陌生文件。重复键、隐式类型、别名、数字精度、Unicode、换行符和超大输入都需要明确策略；目标系统的规则更严格时，应以目标规则为准。",{"title":210,"paragraphs":211,"bullets":214},"生产环境检查清单",[212,213],"发布前至少测试正常文档、空值、深层嵌套、非 ASCII 文本和一个故意损坏的样例。如果其他系统必须复现完全相同的输出，还应记录工具或依赖库版本。","当数据参与构建、部署、API 或配置时，应把验证加入持续集成。上线前审查差异并保留回滚副本，上线后观察第一个真实使用方，不能把“语法通过”等同于“运行正确”。",[195,196,197],{"title":150,"description":151},"YAML 与 JSON 对比：语法差异与转换指南","zh-cn\u002Farticles\u002Fyaml-vs-json","guide",null,"QdIzvog4XbAgUJP2vO01fYTHazwrXXFtc3uKL_N1hB0",1791972536891]