我有点问题。我目前正致力于将旧系统转换为更新版本。在旧版本中,数据请求由Java applet管理,这对于数据中的“-char”没有任何问题。 但是,现在,我从数据库中获取数据并使用XSLT将其转换为JSON字符串,然后使用原型函数.evalJSON() - 将字符串转换为对象。 然后XSL构造这样的数据(例子):
{rowsets: [ { rows: [ { "ID":"xxx","OtherProperty":"yyy" } ] } ] }
其中哪个是好的。 现在,当数据库中包含“-characters”的某些数据时,evalJSON()会失败,因为它会破坏通常格式良好的JSON字符串,如下所示:
{rowsets: [ { rows: [ { "ID":"xxx","OtherProperty":"yyy "more" zzz" } ] } ] }
现在,我想要做的是,以某种方式逃避“不受欢迎的”-chars - 而不必为我提供某种存储过程来服务器端。 我试图绕过RegEx,但我在那个领域并不是很有经验,所以我很难搞清楚。
如果有任何帮助,那些肯定合法的字符序列是: [“:”]和[“,”] 并且可能出现并且应该被转义的序列是: [\ s“],[”\ s],[“,],[”。](\ s表示空格)
所有类型的帮助都很受欢迎,即使它是一些使得它变得更容易的SQL:)
提前致谢!
答案 0 :(得分:1)
如果你在XSLT的土地上,那么你就是在重新发明轮子。谷歌上升“badgerfish”,并看到here相当稳固的实施。当然,你可能会遇到其他问题,但首先要做的事情。
答案 1 :(得分:0)
我最终选择了一个快捷方式,在我的XSL中使用字符串替换模板将“-characters”替换为“-characters”,然后将JSON返回给我的javascript函数,因此无需转义任何客户端。
(使用此:http://geekswithblogs.net/Erik/archive/2008/04/01/120915.aspx)