是用struts 的json插件进行序列化
代码如下:
@Test public void test_json() throws JSONException { Map<String, String> map = new HashMap<String, String>(); map.put("name", "whua\"ng"); String result = JSONUtil.serialize(map); System.out.println(result); String source = "{\"result\":\"_jsonPlaceHolder\"}"; String result2=source.replaceAll("\"" + "_jsonPlaceHolder" + "\"", result); System.out.println(result2); }
运行结果如下:
{"name":"whua\"ng"}
{"result":{"name":"whua"ng"}}
是用json解析时报错,{"result":{"name":"whua"ng"}} 不是合法的json字符串。
经过反复看,发现whua\"ng中的斜杠没有了!!!!
问题出在replaceAll
解决方法如下
(添加).replaceAll("\\\\", "\\\\\\\\")
@Test public void test_json() throws JSONException { Map<String, String> map = new HashMap<String, String>(); map.put("name", "whua\"ng"); String result = JSONUtil.serialize(map); System.out.println(result); String source = "{\"result\":\"_jsonPlaceHolder\"}"; String result2 = source.replaceAll("\"" + "_jsonPlaceHolder" + "\"", result.replaceAll("\\\\", "\\\\\\\\")); System.out.println(result2); }
相关推荐
ReplaceAll 多文件文本批量替换工具 依赖.net framework2.0
这个自定义的replaceAll方法不仅考虑了正则表达式和普通字符串作为查找目标,还考虑了是否需要区分大小写的问题(ignoreCase参数)。 在这个自定义replaceAll方法中,首先判断传入的参数中,查找目标(reallyDo)...
xStream是一个强大的库,它提供了一种简单的方式来序列化和反序列化Java对象到XML,反之亦然。在这个场景中,它同样能够处理JSON转换,虽然JSON不是其原生支持的格式,但通过一些额外的配置和库,如json-simple,...
第三种方法尤其有用,因为它可以直接调用,语法上与Java或其他一些语言的replaceAll方法一致,提高了代码的可读性和易用性。 此外,文中还提到了两个JavaScript正则表达式工具网站,提供了在线测试和在线生成正则...
但是,如果JSON字符串中的特殊字符未正确转义,`JSON.parse()`将会抛出错误。例如,双引号(")在JSON字符串中必须被转义为`\\"`,否则解析器会认为字符串没有正确关闭。 在问题描述中,提到的后台生成的JSON字符串...
//初始化 Console.WriteLine(ms.IndexOf("hello world","l",5)); //输出9 Console.WriteLine(ms.Substring("hello world",1,6)); //输出“ello w" Console.WriteLine(ms.ReplaceLast("hello world","l","*")); //...
`Gson`和`Volley`是Google推荐的两个强大的工具,分别用于处理JSON序列化与反序列化以及网络请求。本教程将深入讲解如何利用这两个库进行网络请求,并自动将返回的JSON数据转换为Java对象。 首先,`Gson`是Google...
在PowerBuilder中,`ReplaceAll`函数通常用在`String`对象上,它的主要作用是查找字符串中的所有指定子串,并将其替换为另一个字符串。这个功能对于数据清洗、日志处理或用户界面的动态内容更新等场景非常有用。 `...
Java中的`replace`、`replaceAll`和`replaceFirst`是字符串操作中常见的方法,用于替换字符串中的特定子串。它们都是`String`类的方法,但各自有不同的行为和用途。 1. `replace(CharSequence target, CharSequence...
在本示例中,我们探讨了如何在 Delphi XE8 中使用 IDHTTP1.get() 方法从一个基于 Servlet 3.1 的服务器获取 JSON 数据。这个过程涉及到 Delphi 客户端与 Java 服务端之间的通信,其中 JSON 用于数据交换格式。以下是...
正常情况下,replace方法只替换字符串中的第一个匹配项,若要替换字符串中的所有匹配项,就需要用到正则表达式的全局搜索标志“g”(global)。此外,还可以结合“m”(multiLine)标志,用于指定匹配应该覆盖多行。...
Struts1是一个经典的Java Web框架,它为开发者提供了一种结构化的MVC(Model-View-Controller)设计模式实现方式,使得开发人员可以更高效地构建动态网站应用程序。本项目"Struts1-windowsToLinux"显然是一个利用...
本篇将深入探讨一个具体的Java解析JSON数据时报错问题及其解决方案。 一、问题背景 在实际项目测试阶段,测试人员发现后台日志频繁出现JSON解析错误。错误信息提示,系统无法正确解析接收到的JSON数据,这可能直接...
使用标准库`encoding/json`进行序列化时,输出的结果将是: ```json {"HelloWorld":"chenqionghe","LightWeightBaby":"muscle"} ``` 这样的格式并不符合常见的命名规范,特别是当我们需要与外部系统交互时,可能会...
数据结构 二叉树 替换子树replaceAll \***********************************************************************************************/
1)replace的参数是char和CharSequence,即可以支持字符的替换,也支持字符串的替换(CharSequence即字符串序列的意思,说白了也是字符串); 2)replaceAll的参数是regex,即基于规则表达式的替换,比如,可以通过...
这样处理后,Json字符串就能通过校验并正确解析。 在处理Json字符串时,还需要注意以下几点: - 使用专业的Json库,如`org.json`、`com.google.gson`或`com.alibaba.fastjson`等,它们提供了丰富的API来解析和生成...
string.prototype.replaceall 用于String.prototype.replaceAll的ES Proposal规范填充程序。 如果不可用或不String.prototype.replaceAll调用其“ shim”方法对String.prototype.replaceAll进行填充。 该软件包...
var replaceall = require("replaceall"); 使用替换 var result = replaceall ( "instances of this" , "with this string" , "in this string" ) ; 例子 var original = "hello world goodbye world" ; ...