繁体   English   中英

替换Json String中的密码键值对

[英]Replace password key value pair in Json String

这里的问题是,如果我在字符串中找到密码元素,我想将密码值替换为“ **********”。

例如:字符串"{"element" : "test1", "password": "dfsdn653##"}"

应该替换为

"{"element" : "test1", "password": "********"}"
//OR
"{"element" : "test1", "password": ""}"

我尝试使用正则表达式替换字符串,但是没有用。

您可以使用padStart

 var a = { "element": "test1", "password": "dfsdn653##" } a.password = "".padStart(a.password.length, '*') console.log(JSON.stringify(a)) //Some fixed length to not give away the actual length a.password = "".padStart(7, '*') console.log(JSON.stringify(a)) 

您可以使用JSON.parse()将其转换为对象,然后更改password创建一个password.length数组,并使用* fill()并将其join()

 let str = `{"element" : "test1", "password": "dfsdn653##"}`; let obj = JSON.parse(str); obj.password =Array(obj.password.length).fill('*').join(''); console.log(JSON.stringify(obj)); 

如果使用类似这样的自定义功能,在输入内容的长度上显示字符串'············' ,例如'I Like Pizza'

var toAsterisk = function(string) {
  var asterisks = "";
  for(var i = 0; i > string.length; i++) {
    asterisks = asterisks + "·"
  }
}

如果您将字符串显示为星号,但是要添加到另一个包含密码的字符串中,那么您将能够拥有隐藏的密码。

(希望这可以帮助!)

尝试这个 :

 var jsonStr = '{"element" : "test1", "password": "dfsdn653##"}'; var jsonObj = JSON.parse(jsonStr); if (jsonObj.hasOwnProperty('password')) { var res = jsonObj.password.split('').map(elem => elem = '*').join(''); jsonObj.password = res; } console.log(jsonObj); 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM