Skip to content

About

数据格式互转工具:JSON ↔ YAML ↔ XML ↔ CSV,格式自动检测(单文件纯前端)

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

2 Commits

Folders and files

Repository files navigation

数据格式互转工具

一个纯前端的单文件数据格式转换工具,支持 JSON、YAML、XML、CSV 四种格式互转。双击 index.html 即可使用,无需安装、无需后端、无任何外部依赖。

功能特性

  • 🔄 四格式互转:JSON ↔ YAML ↔ XML ↔ CSV。
  • 🧠 自动检测源格式:输入时自动识别 JSON / YAML / XML / CSV,也可手动指定。
  • ⚡ 实时转换:输入区内容变化后防抖 300ms 自动转换。
  • 🔄 交换方向:一键交换输入/输出格式。
  • 📂 多种导入方式:选择文件、拖拽上传、粘贴文本、URL 导入。
  • 📋 复制与下载:一键复制转换结果,下载为对应扩展名文件。
  • 📊 实时统计:显示源格式 → 目标格式,以及输入/输出大小。
  • 🌓 深浅色主题:跟随系统或手动切换,localStorage 记忆偏好。
  • 📱 响应式布局:桌面双栏,移动端自动堆叠。

使用方式

直接用浏览器打开 index.html:

open index.html        # macOS
# 或拖入浏览器

在左侧输入区粘贴或输入数据,右侧会自动显示转换结果。点击「示例」可快速体验。

各格式特性与限制

方向 说明
JSON ↔ YAML 双向无损(在 YAML 子集范围内)。
JSON → XML 对象键名作标签,数组项统一使用 <item>,根标签可自定义。
XML → JSON 属性并入 @_前缀,文本节点并入 #text;同名单标签合并为数组。
JSON → CSV 仅支持对象数组;非对象数组会提示错误。
CSV → JSON 首行作为表头,后续行为对象数组。

已知有损转换

  • XML:属性与文本节点的区分、数组标签名、数字/布尔类型在 XML 文本中均会丢失或变化。XML 往返主要用于结构预览,不建议作为精确数据持久化格式。
  • CSV:所有字段均为字符串,数字、布尔值、null 在 CSV → 对象后会变为字符串;嵌套对象/数组无法表达。
  • YAML:使用手写子集解析器,不支持锚点 &、别名 *、标签 !、多文档(仅解析第一个文档,其余忽略)。

技术说明

  • 单一 HTML 文件,原生 HTML / CSS / JavaScript,零依赖、零构建步骤。
  • 所有解析与转换均在浏览器本地完成,不上传任何数据。
  • YAML 解析器与 CSV 解析器为手写实现,XML 解析使用浏览器原生 DOMParser。

在线访问

已通过 GitHub Pages 部署,可直接访问:

🔗 https://blog.wangruofeng007.com/data-converter/

源码仓库:https://github.com/wangruofeng/data-converter

About

数据格式互转工具:JSON ↔ YAML ↔ XML ↔ CSV,格式自动检测(单文件纯前端)

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages