【发布时间】:2011-03-16 11:22:42
【问题描述】:
我有点问题。我目前正在将旧系统转换为新版本。在旧版本中,数据请求由 Java 小程序管理,数据中的“-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 让这一切变得更容易:)
提前致谢!
【问题讨论】:
-
您的转换需要生成有效的JSON!
-
这是非常有效的 JSON,只要从数据库中获取的数据集中没有 "-characters () 函数。
标签: javascript regex json escaping