我有一个类似下面的JSON对象,我想使用正则表达式从中删除敏感信息,例如密码,手机号码等。
示例JSON
{
"username":"abc",
"password":"xyz123",
"Security":{
"SecurityQuestion":"what is your first pet name",
"SecurityAnswer": "snoopy"
}
}
我想从上面的JSON对象中删除敏感信息,例如“ password”和“ SecurityAnswer”。我尝试了各种正则表达式模式,但它只删除了任何一项。
我需要有关如何构造正则表达式的帮助或指导,在该正则表达式中,我可以在表达式中包括任何名称,然后将这些字段从JSON中剥离。
预期输出:
{
"username":"abc",
"Security":{
"SecurityQuestion":"what is your first pet name"
}
}
注意:如果密码是最后一个属性,则表达式也应能够从前一个属性中删除逗号(,)。
我尝试了Regex remove json property中的表达式,并进行了各种组合,但没有一个符合我的要求。
答案 0 :(得分:1)
如果要从JSON获取值,则无需使用正则表达式并生成非常复杂的正则表达式。
var data = {
"username":"abc",
"password":"xyz123",
"Security":{
"SecurityQuestion":"what is your first pet name",
"SecurityAnswer": "snoopy"
}
}
这就是您的对象,现在,如果您要检索数据,只需将其视为json。
function retrieveData( Obj ) {
return {
username: Obj.username,
Security:{
SecurityQuestion: Obj.Security.SecurityQuestion
}
}
}
var extractedData = retrieveData(data);