Regex 用于检测具有特定属性的JSON对象属性的正则表达式

Regex 用于检测具有特定属性的JSON对象属性的正则表达式,regex,Regex,我希望从包含特定属性的属性中清除JSON字符串。在下面的示例中,我想删除其值为带有“_href”属性的对象的属性 原始字符串: [{ "name": "Test", "junkAttributeA": { "_href": "string", "_type": "string" }, "junkAttributeB": { "_href": "string", "_type": "string" } }]

我希望从包含特定属性的属性中清除JSON字符串。在下面的示例中,我想删除其值为带有“_href”属性的对象的属性

原始字符串:

[{
    "name": "Test",
    "junkAttributeA": {
      "_href": "string",
      "_type": "string"
    },
    "junkAttributeB": {
      "_href": "string",
      "_type": "string"
    }
}]
结果字符串:

[{
    "name": "Test"
}]

我应该使用什么正则表达式模式来检测不需要的属性?

注意:最好的解决方案是使用合适的解析器。它将以正确的方式很好地完成工作


用于检测属性的正则表达式是:

"[^"{}]+":\s*{[^{}]*"_href":[^{}]*}
用空字符串替换该正则表达式

注意:删除属性后,您必须进行一些额外的分析以删除不必要的逗号。这就是使用正确的解析器的原因之一


测试。

您的语言肯定有一个JSON解析器,它将允许您修改结果对象并写出一个新的JSON字符串?这比试图使用正则表达式解决这个问题要容易得多。@Nick问题是,这是一个来自RESTAPI的巨大JSON响应,需要在内存中序列化。我已经使用了一个JSON解析器,但速度不够快(或者可能我做得不好?),所以我想在事实发生之前“规范化”它。我看到问题已经被关闭(并被否决)。没关系@维罗里诺的回答对我很有帮助。但我尝试过各种正则表达式模式,但都没有用。我使用了regexr.com和其他助手来解决这个问题。因此,建议的答案(通用正则表达式参考)没有帮助。。有些人有知识(并且已经尝试过),但他们不是专家,需要更多的经验来解决具有挑战性的问题。你们可能都走过了同样的道路,成为正则表达式大师。这就是为什么和其他SE论坛不同,我很少在上面发表文章。这是一个令人沮丧的地方。我已经编码13年了。。