Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JSON 转代码工具

一个纯前端的单文件 JSON 转代码工具,双击 index.html 即可使用,无需安装、无需后端、无任何外部依赖。

功能特性

  • 📝 JSON 输入:支持左侧直接编辑、粘贴 JSON 文本、拖拽 .json 文件导入,或从工具栏「粘贴」弹窗输入;JSON 字符串、数字和关键字会实时高亮,并可一键格式化。
  • 🔄 一键切换目标语言:通过弹框选择 TypeScript、Go、Python、Java、Kotlin、Swift、C#、Rust、PHP、Dart、Objective-C 或 C++,实时生成对应类型定义。
  • 🧠 智能类型推断
    • 递归合并对象数组为单一类型;
    • 键取并集,缺失键自动标记为可选;
    • 混合数组生成联合类型(TypeScript string | number,Go/Python 兜底)。
  • 🏷️ 根类型命名:可自定义根类型名称,非法字符自动清理为 PascalCase。
  • 📋 复制 / 下载代码:一键复制生成结果,或下载对应语言扩展名的代码文件。
  • 🎨 深浅色主题切换:跟随系统或手动切换,配置持久化到 localStorage
  • 📊 实时统计:生成类型数与代码行数。

类型映射表

JSON 值 TypeScript Go Python
字符串 string string str
整数 number int int
浮点数 number float64 float
布尔 boolean bool bool
null null interface{} None / Optional
数组 T[] []T list[T]
对象 interface struct @dataclass
混合数组 A | B | ... interface{} Any
可选字段 field?: T omitempty 默认值 None

使用方式

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

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

点击「示例」可快速体验嵌套对象、数组合并、混合类型等效果。

技术说明

  • 单一 HTML 文件 + 独立 favicon.svg,原生 HTML / CSS / JavaScript,零依赖、零构建步骤。
  • 所有解析与生成均在浏览器本地完成,不上传任何数据。
  • JSON 源码与生成代码都使用 createElement 构建 DOM 高亮,避免将用户输入注入为 HTML。

在线访问

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

🔗 https://blog.wangruofeng007.com/json-to-code/

源码仓库:https://github.com/wangruofeng/json-to-code

Releases

Packages

Contributors

Languages