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

JavaScript - regular expression to remove square brackets only at specific places

本文关键字:方括号 正则表达式 删除 位置 定位      更新时间:2023-09-26

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

[{
    "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"
        }
    }]
}]

有可能用正则表达式来完成这个吗?谢谢!

虽然我觉得这个问题有点奇怪,但可能你有这样的需求。这里是正则表达式:

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

则替换为:

"data": $1

其中'1为捕获组

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

data = data[0]