IDEA 2021.1 JSONPath, JSON Lines 功能初体验

IDEA 2021.1 更新内容官方简介


简单介绍

JSONPath:

一种简单的 DSL 查询语言, 可用来快速解析 JSON 文档中具体的值

JSON Lines:

  • UTF-8 编码

  • 一行一个 JSON 串

    Line Separator 可以是 windows 的 '\r\n'

    也可以是 Unix 的 '\n'

  • 一般文件后缀名为 .jsonl

可以用来干嘛?

JSONPath

IDEA 原本就支持 JSON 解析, 格式化, 美化的功能了.

JSONPath 可以帮助开发人员快速查找一个大 JSON 文档中的值, 而不用眼睛一行行去查找.

如果在代码中使用了 JSONPath 变量字符串, 可以使用 Language injections 功能, 快速测试自己写的 JSONPath 是否正确.

JSON Lines

之前 IDEA 只有 JSON/JSON5 语言支持, 当一个 JSON 文件中存在多个 JSON 块时, IDEA 会提示有错误, 但不影响使用, 支持 jsonl 也算是强迫症患者的福音吧.

经测试, IDEA 的 JSONPath 功能并不会循环去解析 JSON Lines 文件, 所以除此之外好像没什么用, 期待 IDEA 后续功能的加强.

如何使用

使用 Scratch files 快速新建 JSON 文档

Scratch files 是 IDEA 全局的(不与当前打开的项目绑定的), 支持代码提示, 运行, debug 的代码文件, 特别适合开发人员快速保存一段代码 snippet, 快速测试一段代码等等.

可以通过以下几种方法新建

  • File -> New -> Scratch File

  • windows - Ctrl+Alt+Shift+Insert, macOS - ⇧⌘N, 键盘输入 JSON 后回车

  • windows - Ctrl+Shift+A, macOS - ⇧⌘A, 输入 scratch file, 回车后选择 JSON

黏贴 JSON 文本后美化 [可选]

windows - Ctrl+Alt+L, macOS - ⌥⌘L

打开 JSONPath 工具栏

可以通过以下两种方法

  • Edit -> Find -> Evaluate JSONPath Expression...

  • windows - Ctrl+Shift+A, macOS - ⇧⌘A, 输入 jsonpath, 选择 Evaluate JSONPath Expression... 后回车

输入 JSONPath 表达式后取值

Jetbrains IntelliJ IDEA 2021.1 JSONPath, JSON Lines 功能初体验-LMLPHP

表达式语法支持 GoessnerJayway

点击工具栏上方的小加号, 还可以快速添加自定义 JSON input, 缺点是 JSON 不会保存到文件中, 关闭 tab 后就没了

Jetbrains IntelliJ IDEA 2021.1 JSONPath, JSON Lines 功能初体验-LMLPHP

使用 Language injections 的用法基本相同, 关于 Language injections 的内容可以参考官方文档

总结

这次 2021.1 的 JSONPath 功能还是比较好用的

不能和 Json Lines 结合起来一起用比较遗憾, 期待后续 IDEA 的更新.


喜欢的不妨点个关注, 不迷路, 后续会发布更多原创内容 😘

下篇预告 - 'Postman 进阶使用教程'

04-12 08:31