在Java应用程序中工作或进行JSON解析时,通常很常见的做法是从某些资源(例如RESTful Web服务)中复制粘贴JSON字符串,然后使用Jackson库解析JSON。 这是测试和学习Java中解析JSON字符串的最快方法,但是这种方法的主要问题是JSON字符串还包含双引号“”,该双引号也用于将Java 字符串文字包含在内。 由于JSON字符串本身包含双引号,因此当您仅将其复制粘贴到IDE或Java源文件中时,它们就无法按预期工作。 如果您还记得的话,如果您的String包含双引号,那么在Java代码中将它们作为String文字粘贴时,则需要转义那些双引号。
您可以通过在Java中通过在双引号中加上反斜杠来对String进行转义,例如“如果在String本身内发生,则可以转为\”。 对于较小的JSON字符串,这是可以的,但是即使对于中等大小的JSON,用转义符手动替换每个双引号也是费时,无聊且容易出错的。 因此,如果您有一个需要使用Jackson在Java中进行解析的JSON字符串,您将怎么办?
嗯,有多种解决方案,例如您可以将该String保存在文件中,然后在程序中读取该文件,而不是将String复制粘贴到Java代码中;或者,您可以使用Apache Commons的HttpConnection实用工具直接从Internet下载,尽管这需要Java应用程序中的其他依赖关系,并可能减慢测试速度。
您甚至可以使用文本编辑器(如Notepad ++,EditPlus或Sublime(请参见我的Java工具 ))来支持正则表达式搜索,以将所有双引号替换为转义符,然后再将String文字复制到Java代码中,但是如果您的JSON字符串又会出现错误包含换行符和换行符,因为这些换行符需要手动转义。
如何使用Eclipse在Java源代码中转义JSON字符串
我发现最快,最好的方法是在粘贴到String文字时利用Eclipse的功能来转义文本。 可以通过设置启用此功能,然后Eclipse将转义所有需要自动转义的双引号,换行符,换行符或任何其他字符。 这样可以节省大量时间,并可以加快学习和测试速度。
以下是在Eclipse IDE中启用此String转义设置的确切步骤:
1.打开Eclipse IDE
2.转到Windows –>首选项–> Java –>编辑器–>键入
3)选中“在字符串文字中”复选框“在粘贴到字符串文字时转义文本”。
这是您的设置在Eclipse IDE中的外观:
完成此操作后,如果Eclipse包含任何需要转义的字符, 它将对String进行转义。 现在来看一个例子。
假设这是您的JSON字符串:
{
"name": "John",
"email": "john.doe@gmail.com",
"age": 29,
"phone" : 5168161922,
"city" : "NewYork",
"hasCreditCard": false
}
这里所有这些围绕属性的双引号都需要转义,但是当您将此JSON字符串粘贴到Eclipse中时,它将自动为您转义那些JSON ,如下所示:
您可以看到Eclipse如何轻松地逃脱了JSON。 这是Eclipse IDE的一个很棒的功能,如果您使用Java中的JSON,则应启用它。
这就是如何使用Eclipse IDE在Java中转义JSON String的全部内容。 这是一个实时的保护程序技巧,每当需要将JSON字符串粘贴到Java代码中时,您都会感激。 Eclipse IDE充满了这样的瑰宝,但是我们许多人没有充分利用Eclipse的全部潜能。 许多程序员甚至都不了解基本的Eclipse快捷方式和调试技巧 ,它们可以再次节省大量时间来读取,编写Java代码或对Java代码进行故障排除。
您可能想探索的其他JSON文章
- 如何在Java中将JSON数组转换为String数组? ( 回答 )
- 如何在Java中使用Google Protocol Buffer? ( 教程 )
- 如何使用Jackson Streaming API解析大型JSON文件? ( 示例 )
- 5本书学习REST和RESTful Web服务( 书籍 )
- REST中不同HTTP方法的目的是什么? ( 见这里 )
- 如何使用Spring的RestTemplate从RESTful Web服务中使用JSON? ( 教程 )
- 如何将JSON转换为HashMap,反之亦然( 教程 )
进阶学习
- REST与Spring课程
- 核心Java第2卷–高级功能
- RESTful Web服务面试问题
感谢您阅读本文。 如果您喜欢此JSON Eclipse技巧,请与您的朋友和同事分享。 如果您有任何问题或反馈,或者想与我们分享任何其他Eclipse技巧,请发表评论。
翻译自: https://www.javacodegeeks.com/2017/06/escape-json-string-java-eclipse-ide-tips.html