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

在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

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

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

相关文章

java hashmap实例_java HashMap详解及实例代码

java hashmap/** map集合的特点* 将键映射值的对象,一个映射不能包含重复的值;每个键最多只能映射到一个值** map集合和collection集合的区别?* map集合存储元素是成对出现的,map集合的键是唯一的,就是可重复的。可以把…

spring javafx_带有Spring的JavaFX 2

spring javafx我将从一个大胆的声明开始:我一直很喜欢Java Swing或applet。 在那里,我说了。 如果我进行一些自我分析,那么这种钦佩可能是在我接触Java时开始的。 Swing(实际上)是我使用Java所做的第一件事&#xff0c…

jframe和mysql登陆_刚写的一个从数据库读取账户和密码进行登陆的小程序~高手请无~...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.Connection;import java.sql.DriverManager;import java.sql.*; import javax.swing.*;public class LoginSystem extends JFrame{publi…

使用WebCrypto API的电子签名

有时我们需要让用户进行电子签名。 通常,人们会理解为将您的手写签名以某种方式放在屏幕上。 根据管辖范围,可能很好,或者仅存储图像可能还不够。 例如,在欧洲,有910/2014号法规 ,该法规定义了什么是电子签…

mycat mysql 物理部署_一、MyCat的搭建

一、什么是mycat简单直接点就是,MyCat其实就是一个数据库的中间件!一般我们都是app直接到数据库!有了MyCat以后,就是app到MyCat然后再访问数据库。mycat是个中间件,它负责连接管理mysql,应用程序连接mycat,把mycat当作…

java 记事本换行_[求助]记事本自动换行

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼我编的一个记事本 自动换行该如何实现import java.io.*;import java.awt.*;import java.awt.event.*;import java.awt.print.*;public class Jishiben extends Frame implements ActionListener{FileDialog fileDlg;String str, f…

JAVA中的适配器应用_Java适配器模式应用之电源适配器功能详解

本文实例讲述了Java适配器模式应用之电源适配器功能。分享给大家供大家参考,具体如下:一、模式定义存在两种适配器模式1 对象适配器模式,在这种适配器模式中,适配器容纳一个它包裹的类对象的物理实体。2 类适配器模式,…

java.util接口_函数接口– Java 8中java.util.function包中的函数接口

java.util接口我以前写过有关功能接口及其用法的文章。 如果您正在探索要成为Java 8一部分的API,尤其是那些支持lambda表达式的API,您会发现很少的接口,例如Function,Supplier,Consumer,Predicate和其他接口…

java new string作用_java中直接new String对象?

首先明确一点,在Java中比较的是两个对象的地址,equals()比较的是两个对象的值,如果使用equals()来替换,则两个输出结果都为true。言归正传,为什么第一个返回为false?先看一下intern()这个方法的描述&#x…

Apache Camel中的短重试与长重试

《骆驼设计模式》一书介绍了20种模式以及用于设计基于Apache Camel的集成解决方案的众多技巧和最佳实践。 每个模式都基于真实的用例,并提供了Camel特定的实现细节和最佳实践。 为了让您有这本书的感觉,以下是该书的重试模式摘录,其中介绍了如…

java注解的继承_Java注解合并,注解继承

spring中有时候一个类上面标记很多注解。实际上Java注解可以进行继承(也就是把多个注解合并成1个)比如说SpringMVC的注解RestControllerRequestMapping("/person")可以合并为一个PathRestController("/user")实现是:import java.lang.annotatio…

java实现驾校考试系统_jsp驾校考试系统

本驾校考试系统采用了Browser/Server体系结构,JSP(Java Server Page)作为前台开发工具,MySQL作为后台数据库进行开发。最终系统实现的系统将分为管理员和学员两个角色,其中系统管理员部分的主要功能包括修改登录密码、学员信息管理、科目1题目…

Java Maven和Gradle构建的主题缓存

Concourse CI 3.3.x引入了在任务运行之间缓存路径的功能。 此功能有助于加快将内容缓存在特定文件夹中的任务-在这里,我将演示如何使用此功能来加快基于Maven和Gradle的Java构建。 我在这篇文章中使用的代码和管道可以在我的github仓库中找到 – https://github.co…

java qlv转mp4 代码_怎么将qlv格式转换成mp4?教你快速转换视频格式的技巧

如何将qlv格式转换成mp4?众所周知qlv格式是腾讯视频的下载格式,而qlv格式的特点在于不能用别的播放器打开。如果用腾讯视频以外的播放器打开则需要将qlv格式转换成mp4,那你知道将qlv格式转换成mp4的技巧吗?下面小编教你一种转换qlv格式的技巧…

mysql导入竖杠分割的数据_MYSQL :逗号分隔串表,分解成竖表

DROP TEMPORARY TABLE IF EXISTS Temp_Num ;CREATE TEMPORARY TABLE Temp_Num ( xh INT PRIMARY KEY ); -- 创建数字辅助表SET i 0;INSERT INTO Temp_Num(xh) -- 写入数字辅助表SELECT i : i1FROM AdDataCenter.Ad_Targeting_Mobisage aLIMIT 0, 100 ;SELECT b.AdGroupID , SU…

maven 父maven_Maven的春天

maven 父maven1.概述 本教程将讨论如何使用Maven设置Spring,并介绍使用Spring依赖项的特定用例。 最新的Spring版本可以在Maven Central中找到。 2.基本的Maven Spring依赖关系 Spring的设计具有模块化和灵活性–基本的Spring容器可用于多种情况,而无需…

java中cell无法输出_java – iText 5.5.3 PDFPCell:长文本不适合单元格(不正确地包装文本)...

我正在尝试创建一个包含表格的波斯语PDF,我想写入它.当我的字符串很长时,它不能正确地适合单元格.感觉像字符串填充单元格颠倒!…我的意思是,例如,当我想写“你好我的朋友.什么事情?”在单元格中输出如下:|这是怎么回事? ||我的朋…

emc存储java打开后报错_连接EMC存储系统 - osc_mk8rqvg4的个人空间 - OSCHINA - 中文开源技术交流社区...

1.准备一台笔记本电脑,一根网线即可。2.将网线一头连接笔记本电脑,另一头连接存储。(连接存储的一头应连接到有扳手图标的那一网口上)3.配置IP地址IP:128.221.1.254子网掩码:255.255.255.04.ping 128.221.1.250看是否能ping通&…

浙大JAVA实验题12_2019浙大计算机考研机试模拟赛(2)——概念专题

题目链接 引用自晴神OJA - 边覆盖B - 极大独立集C - 稳定婚姻问题D - 笛卡尔树没赶得上全程的比赛,就做了两道,后面两道以后有时间再补。两道都是概念题,比较基础~ 以下是题解A - 边覆盖Case Time Limit: 200 MS (Others) / 400 MS (Java) …

hadoop小型集群_小型Hadoop集群的Ganglia配置和一些故障排除

hadoop小型集群Ganglia是一个针对大型集群的开源,可扩展且分布式的监视系统。 它收集,汇总并提供数十种与计算机相关的指标(例如CPU,内存,存储,网络使用情况)的时序视图。 您可以在UC Berkeley …