从字符串化 JSON 中删除逗号,但不删除分隔数组的逗号
remove commas from stringified JSON but not commas separating array
我已将描述字段中包含逗号的 JSON 数据字符串化。如果我在数据中有 AJAX post rophes OR 逗号,则 AJAX post 失败。
如何从我的 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"}]
所以留下分隔对象的逗号?
或者更好...:[=21=]
[{"var1":"0","description":"this \, has \, commas"},{"var1":"1","description":"more \, commas"}]
数据需要被推回我的服务器并在更改后加载回我的数据库,逗号和 postrophes 需要保持完整。
test.replace(/,/g,"")
当然...也去掉了分隔对象的逗号,把我搞砸了。
任何人都知道正则表达式,这可能会建议一种方法来替换“,”但是 "not" 在 "},{"
之间? (双引号是为了强调)
感谢您的帮助。
做 test.replace 负面前瞻怎么样 - https://regex101.com/r/WtHcuO/2/:
var data = JSON.stringify([{"var1":"0","description":"this, has, commas"},{"var1":"1","description":"more, commas"}]);
var stripped = data.replace(/,(?!["{}[\]])/g, "");
console.log(stripped);
或者,如果你想保留逗号但转义它们,你可以用 \,
代替 ""
var data = JSON.stringify([{"var1":"0","description":"this, has, commas"},{"var1":"1","description":"more, commas"}]);
var stripped = data.replace(/,(?!["{}[\]])/g, "\,");
console.log(stripped);
我已将描述字段中包含逗号的 JSON 数据字符串化。如果我在数据中有 AJAX post rophes OR 逗号,则 AJAX post 失败。
如何从我的 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"}]
所以留下分隔对象的逗号?
或者更好...:[=21=]
[{"var1":"0","description":"this \, has \, commas"},{"var1":"1","description":"more \, commas"}]
数据需要被推回我的服务器并在更改后加载回我的数据库,逗号和 postrophes 需要保持完整。
test.replace(/,/g,"")
当然...也去掉了分隔对象的逗号,把我搞砸了。
任何人都知道正则表达式,这可能会建议一种方法来替换“,”但是 "not" 在 "},{"
之间? (双引号是为了强调)
感谢您的帮助。
做 test.replace 负面前瞻怎么样 - https://regex101.com/r/WtHcuO/2/:
var data = JSON.stringify([{"var1":"0","description":"this, has, commas"},{"var1":"1","description":"more, commas"}]);
var stripped = data.replace(/,(?!["{}[\]])/g, "");
console.log(stripped);
或者,如果你想保留逗号但转义它们,你可以用 \,
代替 ""
var data = JSON.stringify([{"var1":"0","description":"this, has, commas"},{"var1":"1","description":"more, commas"}]);
var stripped = data.replace(/,(?!["{}[\]])/g, "\,");
console.log(stripped);