java中转json字符串_如何在Java中转义JSON字符串-Eclipse IDE技巧

java中转json字符串

在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

java中转json字符串

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/334828.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

home oracle c.sql,Infoxmix与Oracle的嵌入式SQLC对比

Infoxmix和Oracle的嵌入式SQL/C开发对比ESQLC和PROC的对比本文档介绍了数据库嵌入式SQL/C语言程序ESQLC和PROC的区别一.基本语法1.语法字符ESQLC中既支持…$?数据库语法,同时也支持“EXEC SQL”,…:?数据库语法PROC中只支持“EX…

spock 集成测试_使用Spock Mocks进行Grails 3.3集成测试

spock 集成测试在Grails单元测试中,可以轻松使用Grails随附的Spock框架来模拟或存根协作者(例如服务)。 “ 测试”一章对模拟协作者, doWithSpring / doWithConfig回调方法,在测试中模拟bean的FreshRuntime批注进行了…

uni开发中可以用table标签么_「uni-app 组件」t-table 表格

table 表格基本使用组件,让你制作简单表格只需要专注内容,而不用过度专注样式。此组件基本全平台支持。(支付宝,百度,头条小程序理论上都支持,但是没有很细致的测试这几个平台)功能亮点自定义全局表格样式自定义局部表…

Linux 命令之 kill -- 杀死进程

文章目录命令介绍语法格式常用选项参考示例(一)列出所有信号的名称(二)杀掉 bash 进程命令介绍 kill 正如这个单词的意思一样,就是杀死。linux 系统中 kill 命令用来删除执行中的程序或工作。 kill 命令用来删除执行…

gwt-2.8.2下载_从GWT开发人员的角度概述Scala.js

gwt-2.8.2下载该博客严重偏向于GWT(和基于GWT的框架),但是我谨记,将来GWT可能会被其他技术取代,因此我们始终愿意探索其他平台/框架。 正如他们所说,多元化可以降低风险。 每种编程语言,即使是最…

Linux 命令之 killall 命令-使用进程的名称来杀死一组进程

文章目录介绍语法格式常用选项参数参考示例介绍 killall 命令使用进程的名称来杀死进程,使用此指令可以杀死一组同名进程。我们可以使用kill命令杀死指定进程 PID 的进程,如果要找到我们需要杀死的进程,我们还需要在之前使用 ps 等命令再配合…

python selenium 点击开始按钮_使用Selenium和Python单击一个按钮

I have the following code:Expand allWhen I click on expand all, the whole page loads. How can I do it using WebDriver for Python?解决方案As per the HTML you can use the find_element_by_link_text and invoke click() method as follows :driver.find_element_by…

COLLATE oracle,Sql 中Collate用法

今天查询sqlite的时候需要不区分大小写,查了下文档,需要使用collate nocase.顺便学习下collate的用法。collate在sql中是用来定义排序规则的。排序规则其实就是当比较两个字符串时,根据某种规则来确定哪个比较大,是否相等。各个数…

Linux 命令之 nslookup 命令-查询域名 DNS 信息的工具

文章目录介绍常用选项参考示例介绍 nslookup命令的英文全称为 “query Internet name server interactively ”。nslookup命令主要用来查询域名的DNS信息。在使用nslookup之前,先确保已经安装了它,nslookup属于bind-utils包下一个命令 。 nslookup有两…

jdeps_JDeps入门–分析项目的依赖关系

jdepsJDeps是Java依赖关系分析工具 ,这是一个命令行工具,它处理Java字节码(意味着.class文件或包含它们的JAR),并分析类之间静态声明的依赖关系。 可以用各种方式过滤结果,并可以将其汇总到包或JAR级别。 J…

extjs5的grid垂直滚动条bug_ExtJS 6.2.1 Classic Grid 滚动条bug解决方案

如果列表同时存在横向滚动条和竖向滚动条,当竖向滚动条滚动到底部时点击横向滚动条,滚动条会自动滚动到顶部此bug未在其他版本发现,参考高版本代码重写类解决此bug,直接上代码:/*** 如果列表同时存在横向滚动条和竖向滚…

禁止linux使用密码ssh,linux centos7服务器使用密钥登录ssh同时禁止root密码登录

这两天在大量的给服务器添加密钥,有的服务器简单绑定下就行了。但是京东云目前就毕竟弱了,得自己手动来。目前京东云的服务器需要自己手动修改配置,才能用密钥登录服务器,不然默认还是root用密码登录。把密钥保存到本地&#xff0…

cloudwatch_将CloudWatch Logs与Cloudhub Mule集成

cloudwatch在此博客中,我将解释如何为您的Mule CloudHub应用程序启用AWS Cloudwatch日志 。 AWS提供了Cloudwatch Logs Services,以便您可以更好地管理日志。 它比松散便宜。 由于cloudhub会自动翻转超过100 MB的日志,因此我们需要一种机制来…

linux 权限 mask,【自学Linux】Linux用户、组、权限(一)

用户、组、权限权限:r,w,x文件:r:可读,可以使用类似cat等命令查看文件内容w:可写,可以编辑或删除此文件x:可执行,eXacutable,可以命令提示符下当中命令提交给内核运行0 000 ---:无权限1 001 --x&#xff1a…

要多大内存才满足_什么是延迟满足能力?“延迟满足”能力对孩子有多重要家长要清楚...

文丨饭饭妈记得去年过春节的时候,家里来了两个亲戚,他们分别有一个小孩,当时大家都在准备年夜饭。其中一份糯米团子准备好放在桌子上之后,亲戚家的两个小孩都非常想要吃,亲戚对孩子说:“你们现在不能吃&…

Linux 命令之 cd 命令-切换目录

文章目录介绍语法格式常用选项参考示例介绍 cd 命令是 change directory 中单词的首字母缩写,其英文释义是改变目录,所以该命令的功能是从当前目录切换到指定目录。 其中目录的路径可分为绝对路径和相对路径。若目录名称省略,则切换至使用者…

Linux 命令之 pgrep -- 用于检索(搜索进程/查找进程)当前正在运行的进程

文章目录命令介绍常用选项参考示例示例 1,查看所有名称为 httpd 的进程示例 2,查看进程号最小的,名称为 httpd 的进程示例 3,查看进程号最大的,名称为 httpd 的进程命令介绍 pgrep 的意思是"进程号全局正则匹配输…

java端到端_Java应用程序性能监控:复杂分布式应用程序的端到端性能

java端到端通过从您的应用程序学习企业APM产品,发现更快,更有效的性能监控。 参加AppDynamics APM导览! 在最复杂和分布式环境中端到端监视Java应用程序性能-专注于业务事务。 自动发现的业务交易,动态基准,代码级诊断…

Linux内核链表访问链表头指针,linux内核——链表结构分析

http://blog.csdn.net/tigerjibo/article/details/8299584简单整理(使用linux3.0内核)这里首先学习的是内核中一种抽象定义的双向链表,为了提高其扩展性。内核中链表的描述数据结构位置:Types.h (linux-3.0.12\include\linux) 5444 2011/11/2922…

遗传算法求二元函数极值怎么编码_用遗传算法求复杂函数的极值点

确定遗传在元素个体,遗传得到的个体和变异个体中选取最好的30个个体(对应的函数值最大的30个个体)作为下一次迭代的父样本。from random import randintfrom numpy import sindef decode(g):return [((g&0xfff) - 2048) * 0.001, ((g>>12) - 2048) * 0.00…