我有点麻烦。我现在正在把一个旧的系统转换成一个新的版本。在旧版本中,数据请求是由Java小程序管理的,这对数据中的“-char”没有问题。不过,现在我从数据库中获取数据,并使用JavaScript将其转换为JSON字符串,然后使用prototype-function .evalJSON()将字符串转换为对象。然后,XSL将数据结构化如下(示例):
{rowsets: [ { rows: [ { "ID":"xxx","OtherProperty":"yyy" } ] } ] }
在它的自我是好的。现在,当数据库中的某些数据包含“-字符时,evalJSON()会失败,因为它会破坏通常格式良好的JSON字符串,如下所示:
{rowsets: [ { rows: [ { "ID":"xxx","OtherProperty":"yyy "more" zzz" } ] } ] }
现在,我想做的是以某种方式摆脱“不需要的”-字符-而不必创建某种存储过程来为我在服务器端执行它。我试着把我的头绕在RegEx上,但我在这方面不是很有经验,因此我真的很难弄清楚。
如果有帮助的话,肯定是法律的字符序列是:[":“]和[","]以及可能出现并应转义的序列是:[\s”]、["\s]、["、]、[".](\s表示空格)
感谢所有类型的帮助,即使它是一些SQL,使这一切变得容易得多:)
提前感谢!
2条答案
按热度按时间8xiog9wr1#
如果你在苏格兰,那你就是在重新发明轮子。谷歌一下“badgerfish”,看看here,它有一个相当可靠的实现。当然,你可能会遇到其他问题,但首先要做的是。
hmae6n7t2#
最后,我走了一条捷径,在将JSON返回到JavaScript函数之前,使用XSL中的字符串替换模板将“-characters替换为“,因此不需要在客户端转义任何内容。
(Used此:Link)