java代码如何解析带有反斜杠json字符串呢?

戚薇 fastjson 发布时间:2023-05-05 14:44:57 阅读数:17838 1
下文笔者讲述字符串中带反斜杠--将其转换为JSON对象的方法分享,如下所示
在互联网中,一些字符串的传输中
    我们需对一些特殊字符进行转义
那么这些转义后的字符串中,包含大量的反斜杠
 此时我们改如何将包含反斜杠的字符串转换为JSON对象呢?
 下文笔者将一一道来,如下所示

解析带反斜杠字符串的实现思路

方式1:
   剔除反斜杠,然后将其转换为JSON对象
方式2:
   使用StringEscapeUtils.unescapeJavaScript(s);
    转换字符串,然后再将其转换为JSON对象
方式3:
   借助new String重新构造字符串
   然后再将其转换为JSON对象
例:字符串中包含反斜杠后,转换为JSON对象的示例分享
方式1:
   去掉字符串中的反斜杠:

	//json字符串
	String s = "{\"job\":{\"setting\":{\"restore\":{\"maxRowNumForCheckpoint\":0,\"isRestore\":false,\"restoreColumnName\":\"\",\"restoreColumnIndex\":0},\"errorLimit\":{\"record\":100},\"speed\":{\"bytes\":0,\"channel\":1}}}}";
	 
  //解析前去除反斜杠,将反斜杠替换为空字符串
  s = StringUtils.replace(s, "\\", "");
 
  //对该字符串做处理
  JSONObject jsonObject = JSONObject.parseObject(s);
  System.out.println(jsonObject);


方式2:
   
  解析前反转义一下

  //现有一个json字符串
   String s = "{\"job\":{\"setting\":{\"restore\":{\"maxRowNumForCheckpoint\":0,\"isRestore\":false,\"restoreColumnName\":\"\",\"restoreColumnIndex\":0},\"errorLimit\":{\"record\":100},\"speed\":{\"bytes\":0,\"channel\":1}}}}";
 
 
   //解析前反转义该json字符串
   s = StringEscapeUtils.unescapeJavaScript(s);
 
   //对该字符串做处理
   JSONObject jsonObject = JSONObject.parseObject(s);
   System.out.println(jsonObject); 


方式3:
	//现有一个json字符串
	String s = "{\"job\":{\"setting\":{\"restore\":{\"maxRowNumForCheckpoint\":0,\"isRestore\":false,\"restoreColumnName\":\"\",\"restoreColumnIndex\":0},\"errorLimit\":{\"record\":100},\"speed\":{\"bytes\":0,\"channel\":1}}}}";
 
 
  //解析前处理json字符串
   s = new String(s);
 
  //对该字符串做处理
  JSONObject jsonObject = JSONObject.parseObject(s);
  System.out.println(jsonObject);
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/fastjson/2023/6359.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者