格式化Json字符串Intellij?

24

我正在使用 IntelliJ IDEA 开发 Java 项目。我想将一个类似于 JSON 格式的内容赋值给 Java 字符串,但是转义字符让我感到疲惫不堪。

有没有简单的工具可以格式化并省略转义字符?


5
转义字符与你的IDE无关,它们是Java中字符串规则的强制执行。与其硬编码JSON字符串,建议您考虑使用Java中提供的众多JSON库之一构造文档,然后将其序列化为字符串。 - rmlan
不要处理字符串,而是编写一个JSON文件。 - OneCricketeer
你应该使用注入语言特性。:)) - Supun Wijerathne
请查看此问题:https://dev59.com/lHNA5IYBdhLWcg3wpvpg - Jefferson Lima
2个回答

79
你可以使用插入语言功能。
例如:
String myJsonString = "";
  • 将光标放置在 " 和 " 之间。
  • Alt + Enter -> 插入语言或引用 -> 从下拉列表中选择json
  • 现在您已经将 json 注入到该字符串中。再次Alt + Enter -> 编辑 Json 片段。
  • 现在,您可以在弹出工具中像正常的 json 一样输入您的 json,Intellij会为您转换为带有转义字符的字符串。 :))

enter image description here

更多信息请参见官方文档


我在下拉菜单中看不到 json 选项。我能否以某种方式添加它?我正在使用 IDEA 的 Community Edition。 - ASten
1
现在看看。它在函数参数中的引号内不可用(..someFunc("{\"jsonHere\"}"))。当我将转义后的JSON复制到赋值语句中(String t = "here")时,它就出现了。谢谢! - ASten
我该如何与其他团队成员分享此配置,以使他们不必选择 JSON? - George Shalvashvili
有没有一种重新格式化这个 JSON 的方法?按 option+command+L 没有任何反应。 - George Shalvashvili
@GeorgeShalvashvili 请尝试使用Shift+Command+A -> 格式化代码。 - Supun Wijerathne

0

对于使用STS(Spring Tool Suite)和通常的Eclipse的任何人来说,可以通过勾选以下复选框启用转义功能:

首选项 -> Java -> 编辑器 -> 输入 -> 粘贴文本时转义字符串文字

之后只需定义一个字符串并粘贴json内容,IDE将处理转义。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接