JavaScript - 正则表达式,仅在特定位置删除方括号

时间:2016-09-27 17:27:04

标签: javascript json regex

是否可以仅在字符串中的特定位置删除方括号?我有以下字符串:

[{
    "text": "Text123",
    "data": [{
        "status": "Pending",
        "validity": "Invalid"
    }],
    "children": [{
        "text": "Text456",
        "data": [{
            "status": "Pending",
            "validity": "Invalid"
        }]
    }]
}]

我需要从数据数组中删除方括号,但将其保留在其他地方。结果字符串应为:

[{
    "text": "Text123",
    "data": {
        "status": "Active",
        "validity": "Inactive"
    },
    "children": [{
        "text": "Text456",
        "data": {
            "status": "Pending",
            "validity": "Valid"
        }
    }]
}]

是否可以使用正则表达式完成此操作? 谢谢!

2 个答案:

答案 0 :(得分:1)

虽然我发现这个问题有点受欢迎,但可能你有这样的需要。无论如何这里是正则表达式:

/"data": \[([^\]]*)\]/g

然后替换为:

"data": $1

其中\ 1是捕获组

答案 1 :(得分:1)

您可以将JSON解析为一个对象,而不必处理正则表达式/字符串。

data = data[0]