网站首页 > 技术文章 正文
Json Assistant 是基于 IntelliJ IDEs 的 JSON 工具插件,让 JSON 处理变得更轻松!
主要功能
- 完全支持 JSON5
- JSON 窗口(多选项卡)选项卡更名移动至主编辑器用新窗口打开选项卡内容JSONPath 查询历史记录JSON 导出
- JSON 格式化
- JSON 压缩
- JSON 结构化(树视图)
- JavaBean 转换为 JSON
- JSON 转换为 JavaBean
- Kotlin 属性转为 JSON
- JSON 文本比对
- JSON 转义
- Java 常量提取为 JSON
- 格式转换JSON <-> XMLJSON <-> YAMLJSON <-> TOMLJSON <-> PropertiesJSON <-> URL Param
使用
在此简单介绍功能的使用,详情请查看 插件文档。
Json 格式化、压缩
- 当编辑器中 仅包含 JSON 文本或 选中了 有效的 JSON 文本。
- 单击鼠标右键,并选择 Json Assistant(或按下快捷键 Alt+K)。
- 接着选择 Json Beautify 或 Json Minify…,对应格式化与压缩。
- 在可编辑的文件中 :格式化(压缩)结果将直接插入到当前光标位置。
- 在不可编辑的文件中 :格式化(压缩)结果将展现在右侧 JSON 窗口中。
Json 结构化(树视图)
将 JSON 文本转换为 树状结构,并提供属性、数量等信息。
- 当编辑器中 仅包含 JSON 文本或 选中了 有效的 JSON 文本。
- 单击鼠标右键,并选择 Json Assistant(或按下快捷键 Alt+K)。
- 接着选择 Json Tree Structure,将弹出一个 JSON 树结构的窗口。
文本检索
JSON 树支持文本检索,能够快速查找键名、值及嵌套对象中的内容。
使用: 按下 Ctrl+F 或直接键入字符。
JavaBean 转换为 Json
将 JavaBean 序列化为 JSON ,支持 嵌套属性 ,支持 FastJson、 Jackson 注解。
使用: 在 Java 类中,单击鼠标右键,并选择 Convert to JSON(或快捷键 Alt+N)
- 当鼠标光标位于主类的范围时:将解析主类的属性为 JSON。
- 当鼠标光标位于内部类的范围时:将解析该内部类的属性为 JSON。
Json 转换为 JavaBean
将 JSON / JSON5 反序列化为 JavaBean,支持嵌套 Array 、 Object 属性。
使用: 选择一个 Java 包,单击鼠标右键,并选择 New > Java Class from Json。
Json 窗口
用于展示及处理 JSON 的侧边窗口,支持多选项卡、历史记录、JSONPath 查询等多项能力。
使用: 在 IDE 主界面的右侧,找到 Json Assistant 窗口,点击打开。
多选项卡
在多选项卡的情况下,能同时记录和处理不同的 JSON 数据。
新窗口打开选项卡内容
在 IDE 新窗口中处理 JSON 数据,不受 IDE 原本窗口的限制,更便于调试。
JSONPath 查询
支持 JSONPath ,实现精准的元素定位与高效的数据过滤。
历史记录
记录编辑器中的 JSON 数据,用于查看和恢复。
默认使用 树状视图 (按时间分组)展示历史记录。
可在 Settings/Preferences > Tools > Json Assistant 配置项中切换为 列表视图。
识别剪贴板内其他格式文本
进入窗口时,编辑器会自动检测剪贴板中的文本是否符合以下任一格式。
若符合,则将其转换为 JSON 格式并填充到编辑器中(只限于初始选项卡)。
可在 Settings/Preferences > Tools > Json Assistant 配置项中指定开关。
格式名称 | 是否支持 |
XML | √ |
YAML | √ |
TOML | √ |
URL Param | √ |
外观调整
自定义 JSON 编辑器的外观设置,包括启用或禁用行号显示、代码折叠功能,以及选择背景颜色。
在 Settings/Preferences > Tools > Json Assistant 配置项中指定开关。
Json 文本比对
对比两份 JSON 文本的差异,高亮显示不同之处。
Json 转义
对 JSON / JSON5 进行转义处理,且插件已默认提供自动去除转义的能力。
转义后,默认会将转义结果复制到剪贴板,并在窗口中显示保留换行符的转义结果,便于查看。
- 当编辑器中 仅包含 JSON 文本或 选中了 有效的 JSON 文本。
- 单击鼠标右键,并选择 Json Assistant(或按下快捷键 Alt+K)。
- 接着选择 Json Escape…,对 JSON 进行转义处理。
格式转换
提供 JSON / JSON5 与多种其他格式之间的转换功能。
格式 | 是否支持 |
JSON5 | √ |
XML | √ |
YAML | √ |
TOML | √ |
Properties | √ |
URL Param | √ |
JSON 转为其他格式
- 当编辑器中仅包含 JSON 文本或选中了有效的 JSON 文本。
- 单击鼠标右键,并选择 Json Assistant(或按下快捷键 Alt+K)。
- 接着选择 Convert to…,选择要转换的格式。
图为 JSON5 转换为其他格式。
其他格式转为 JSON
- 当编辑器中仅包含 有效的格式内容 或选中了 有效的有效的格式内容。
- 单击鼠标右键,并选择 Convert xxx to JSON(或按下快捷键 Alt+P)。
当 YAML 中存在多文档,则需要选择一份文档进行转换。
安装
使用 IDE 内置插件系统安装(推荐)
进入 Settings/Preferences > Plugins > Marketplace > 搜索 Json Assistant > Install
手动下载插件安装
- 在 JetBrains Marketplace 或 GitHub Releases 下载与你 IDE 版本兼容的插件包
- 进入 IDE,打开 Settings > Plugins > > Install Plugin from Disk... ,选择刚才下载的插件包并安装即可(无需解压压缩包)
兼容产品
- Android Studio — Arctic Fox | 2020.3.1+
- AppCode — 2020.3+
- Aqua — 2024.1.1+
- CLion — 2020.3+
- Code With Me Guest — 1.0+
- DataGrip — 2020.3+
- DataSpell — 2021.3+
- GoLand — 2020.3+
- IntelliJ IDEA Community — 2020.3+
- IntelliJ IDEA Ultimate — 2020.3+
- JetBrains Client — 1.0+
- JetBrains Gateway — 2022.2+
- MPS — 2020.3+
- PhpStorm — 2020.3+
- PyCharm Community — 2020.3+
- PyCharm Professional — 2020.3+
- Rider — 2020.3+
- RubyMine — 2020.3+
- RustRover — 2024.1+
- WebStorm — 2020.3+
- Writerside — 2024.1+
项目地址
- Github:https://github.com/MemoryZy/Json-Assistant
- 插件文档:https://json.memoryzy.cn/overview
欢迎点赞+转发+关注!大家的支持是我分享最大的动力!!!
猜你喜欢
- 2025-05-26 学习HackerOne上Flink、Grafana、jolokia攻击手法
- 2025-05-26 使用ANTLR开发自己的DSL语言(一)
- 2025-05-26 Spring技巧:深入研究Java 14和SpringBoot
- 2025-05-26 Nginx常见问题
- 2025-05-26 MyBatis系列-2-日志配置
- 2025-05-26 免费且好用的乐谱制作软件
- 2025-05-26 进阶版Python正则表达式大全,看到就赚到了
- 2025-05-26 让你把DeepSeek不借助插件装进WPS中 WPS接入DeepSeek人工智能
- 2025-05-26 在word中通过VBA调用百度翻译API在线翻译
- 2025-05-26 Java文件读取终极指南:4种方式对比与性能优化实战
- 1521℃桌面软件开发新体验!用 Blazor Hybrid 打造简洁高效的视频处理工具
- 640℃Dify工具使用全场景:dify-sandbox沙盒的原理(源码篇·第2期)
- 527℃MySQL service启动脚本浅析(r12笔记第59天)
- 492℃服务器异常重启,导致mysql启动失败,问题解决过程记录
- 492℃启用MySQL查询缓存(mysql8.0查询缓存)
- 479℃「赵强老师」MySQL的闪回(赵强iso是哪个大学毕业的)
- 461℃mysql服务怎么启动和关闭?(mysql服务怎么启动和关闭)
- 459℃MySQL server PID file could not be found!失败
- 最近发表
- 标签列表
-
- cmd/c (90)
- c++中::是什么意思 (84)
- 标签用于 (71)
- 主键只能有一个吗 (77)
- c#console.writeline不显示 (95)
- pythoncase语句 (88)
- es6includes (74)
- sqlset (76)
- windowsscripthost (69)
- apt-getinstall-y (100)
- node_modules怎么生成 (87)
- chromepost (71)
- flexdirection (73)
- c++int转char (80)
- mysqlany_value (79)
- static函数和普通函数 (76)
- el-date-picker开始日期早于结束日期 (70)
- asynccallback (71)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- java (73)
- js数组插入 (83)
- mac安装java (72)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)