如何在json中声明参数时使用方括号拆分数据

时间:2017-08-28 05:42:55

标签: javascript json

我将一些数据从js文件传递给处理程序,而处理程序又从SP获取结果。我有一个像ID = abc [123]的参数。但我必须只将123作为值传递给ID到SP。 这就是我在js中声明参数的方式

var parameters = JSON.stringify({
    "ID": JSON.stringify(EditedID).replace(/]|[[]/g, '')
     });

但我收到的错误就像无效ID一样 请帮助

1 个答案:

答案 0 :(得分:0)

目前,您正在用空格替换正则表达式,因此它将返回结果' abc123'。你真正需要的是将字符串放在括号内。您可以使用以下代码来执行此操作。

var EditedID = "abc[123]"
var regex = /\[([^\[\]]*)\]/
var result = ""
match = JSON.stringify(EditedID).match(regex)
if (match != null) {
    result = match[1]
}

"结果=匹配[1]"意味着它会将括号内的值赋给结果。如果您想要两个括号的值,请使用match [0]。

我假设您的EditedID是一个对象,不知何故它需要方法" JSON.stringify"使它成为String。如果您的EditedID已经是String,只需替换匹配值以使其更简单

match = EditedID.match(regex)

如果不匹配,代码将不会遇到if条件,因此result的值只是一个空字符串。