java代码如何解析带有反斜杠json字符串呢?
下文笔者讲述字符串中带反斜杠--将其转换为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);
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。