【发布时间】:2019-02-12 01:14:42
【问题描述】:
我有在描述字段中包含逗号的字符串化 JSON 数据。如果我在数据中有撇号或逗号,AJAX 帖子将失败。
如何从我的var test = JSON.stringify(data) 中删除以下内容
test 会打印如下:
[{"var1":"0","description":"this, has, commas"},{"var1":"1","description":"more, commas"}]
我可以去掉描述中的逗号,使 JSON 字符串看起来像:
[{"var1":"0","description":"this has commas"},{"var1":"1","description":"more commas"}]
所以留下分隔对象的逗号?
或者更好……:[{"var1":"0","description":"this \\, has \\, commas"},{"var1":"1","description":"more \\, commas"}]
数据需要被推回我的服务器并在更改后重新加载到我的数据库中,逗号和撇号需要保持完整。test.replace(/,/g,"") 当然...去掉逗号把物体也分开,把我搞砸了。
任何人都非常了解正则表达式,这可能会建议一种在 "},{" 之间替换“,”但“不是”的方法? (双引号是为了强调)
感谢您的帮助。
【问题讨论】:
-
为什么不从元素中删除逗号,然后对结果数组进行字符串化?
-
我提供的数据只是一个样本,我使用的数据是巨大的。从数据库中提取,进行修改并推送回服务器,并非我提取的所有数据都包含逗号。一次大约 50K 的数据。我可以补充一下,它需要用逗号和撇号“放回”我的 oracle DB。
-
您的问题是:“如果数据中有撇号或逗号,AJAX 帖子将失败。”您需要您的帖子处理任意数据。
-
能否将 JSON 解析为一个对象,然后查看该对象的每个字段,将“,”替换为“\”,然后重新字符串化?
-
为什么服务器发送有效数据失败?
标签: jquery json replace stringify