Java net.sf.json.JSONObject在';这不是预料中的吗?

Java net.sf.json.JSONObject在';这不是预料中的吗?,java,json,backslash,Java,Json,Backslash,我正在绞尽脑汁试图弄明白为什么net.sf.json.JSONObject在我的java代码中不应该添加反斜杠的地方添加了额外的反斜杠: JSONObject obj = new JSONObject (); obj.element ("column_name", "<a href=\"#\" title=\"test\">Test !</a>"); JSONObject obj=newjsonobject(); obj.element(“列名称“,”); 将输出:

我正在绞尽脑汁试图弄明白为什么net.sf.json.JSONObject在我的java代码中不应该添加反斜杠的地方添加了额外的反斜杠:

JSONObject obj = new JSONObject ();
obj.element ("column_name", "<a href=\"#\" title=\"test\">Test !</a>");
JSONObject obj=newjsonobject();
obj.element(“列名称“,”);
将输出:

<a href=\"#\" title=\"test\">Test !<\/a>


如何避免这种行为?

它可能使用与脚本块中使用的JavaScript字符串相同的方法在JSON中转义字符串(
..
)根据HTML语法规则可能不包括字符序列
它可能使用与脚本块中使用的JavaScript字符串相同的方法在JSON中转义字符串(
..
),根据HTML语法规则可能不包括字符序列
我也遇到了这个问题。问题是我的代码同时使用了org.json.JSONObject和com.amazonaws.util.json.JSONObject。两者之间的转换是创建字符串和转义字符。考虑到您正在使用net.sf.json.JSONObject,这可能也是您的问题。检查您导入的其他版本的JSONObject。

我也遇到了这个问题。问题是我的代码同时使用了org.json.JSONObject和com.amazonaws.util.json.JSONObject。两者之间的转换是创建字符串和转义字符。考虑到您正在使用net.sf.json.JSONObject,这可能也是您的问题。检查您导入的其他版本的JSONObject。

好吧,这很奇怪,因为我检查了您所说的,当然,您是对的,但问题是我将dom中的html值添加到extjs(网格)中的类似表的元素中。列被破坏了(数据元素没有很好地与标题垂直对齐),我发现问题来自无效的html。我检查了请求返回的html,除了“\/”之外,其他一切都正常。这很奇怪:p但是谢谢你的帮助,我很感激!你需要提供更多的细节,因为现在我无法想象为什么转义斜杠会产生问题,但是转义引号不会。我有一个类似的问题,但它是文件夹结构,所以/folder\u name变成了\/folder\u name(我使用org.json),但是我们的解析器(cjson)正在将反斜杠解码为字符串后保留在中。我使用了下面的@ktbiz方法,但在客户端,在发送JSON字符串之前,只需将\/替换为/即可。我在其他地方读到,这是org.json toString()代码中的一个bug,但如果json模式得到批准,它听起来更像是其他json解析器(在我的例子中是cjson)中的bug。好吧,这很奇怪,因为我检查了您所说的,当然,您是对的,但问题是我将dom中的html值从extjs添加到一个类似表的元素中(网格)。列已断开(数据元素未与标题垂直对齐),我发现问题来自无效的html。我检查了请求返回的html,除了“\/”之外,其他一切都很好。这很奇怪:p但是谢谢你的帮助,我很感激!你需要提供更多的细节,因为现在我无法想象为什么转义斜杠会产生问题,但是转义引号不会。我有一个类似的问题,但它是一个文件夹结构,所以/folder\u name变成了\/folder\u name(我使用的是org.json),但我们的解析器(cjson)在将其解码为字符串后留下了反斜杠。我使用了下面的@ktbiz方法,但在客户端,在发送json字符串之前,只是将\/替换为/。我在其他地方读到,这是org.json toString()中的一个错误代码,但如果JSON模式批准,它听起来更像是其他JSON解析器中的一个bug(在我的例子中是cjson)。
if ("/" === "\/") alert("The same!");