Javascript 如何在QueryString中替换JSON包装中与某个键匹配的值?

Javascript 如何在QueryString中替换JSON包装中与某个键匹配的值?,javascript,query-string,Javascript,Query String,我有: 我想用[HIDDEN]替换Test1234的密码。如果您在节点中,您可以只解析查询字符串,然后将其字符串化 var qs=要求查询字符串 var temp=qs.parsequeryString var user=JSON.parsetemp.value user.password='[HIDDEN]' temp.value=JSON.stringifyuser queryString=qs.stringifytemp Browserify也有一个querystring实现,但您也希望使

我有:


我想用[HIDDEN]替换Test1234的密码。

如果您在节点中,您可以只解析查询字符串,然后将其字符串化

var qs=要求查询字符串 var temp=qs.parsequeryString var user=JSON.parsetemp.value user.password='[HIDDEN]' temp.value=JSON.stringifyuser queryString=qs.stringifytemp
Browserify也有一个querystring实现,但您也希望使用regexp

如果您在节点中,您可以只解析查询字符串,然后将其字符串化

var qs=要求查询字符串 var temp=qs.parsequeryString var user=JSON.parsetemp.value user.password='[HIDDEN]' temp.value=JSON.stringifyuser queryString=qs.stringifytemp
Browserify也有一个querystring实现,但您也希望使用regexp实现这一点的一种方法是:

让queryString=`key\u value=something&type\u name=user&value={password:Test1234}&key\u attribute=guid` 让modifiedString=queryString.replace/password:[\w]+/,“$1[隐藏]”
console.logmodifiedString实现这一点的一种方法是:

让queryString=`key\u value=something&type\u name=user&value={password:Test1234}&key\u attribute=guid` 让modifiedString=queryString.replace/password:[\w]+/,“$1[隐藏]” console.logmodifiedString使用接口从查询字符串中创建一个iterable对象。选择要使用对象的方法编辑的值,并使用JSON.parse将该值解析为对象

现在,您将该值作为一个对象,可以从中更新password属性的值

使用该方法覆盖查询字符串的值条目,并将对象字符串化回JSON

使用该方法将URLSearchParams对象返回到字符串

const queryString=`key\u value=something&type\u name=user&value={password:Test1234}&key\u attribute=guid`; const params=新的URLSearchParamsqueryString; const value=params.get'value'; const objectValue=JSON.parsevalue; objectValue.password='[HIDDEN]'; params.set'value',JSON.stringifyobjectValue; const updatedQueryString=params.toString; console.logupdatedQueryString 使用接口从查询字符串中创建一个iterable对象。选择要使用对象的方法编辑的值,并使用JSON.parse将该值解析为对象

现在,您将该值作为一个对象,可以从中更新password属性的值

使用该方法覆盖查询字符串的值条目,并将对象字符串化回JSON

使用该方法将URLSearchParams对象返回到字符串

const queryString=`key\u value=something&type\u name=user&value={password:Test1234}&key\u attribute=guid`; const params=新的URLSearchParamsqueryString; const value=params.get'value'; const objectValue=JSON.parsevalue; objectValue.password='[HIDDEN]'; params.set'value',JSON.stringifyobjectValue; const updatedQueryString=params.toString;
console.logupdatedQueryString 虽然有很多包可以用来解决这个问题,但我建议学习如何解决它

下面的解决方案将有助于理解如何制作东西

const queryString=`key\u value=something&type\u name=user&value={password:Test1234}&key\u attribute=guid`; //解决方案1 //将字符串转换为对象、更改键并转换回字符串 const jsonString=queryString .split'&' .reduceAC,下一步=>{ 常量[key,value]=next.split'='; acc[key]=value.indexOf'{'==0?JSON.parsevalue:value; 返回acc }, {} jsonString.value.password='[HIDDEN]' 常量solution1=Object.keysjsonString.mapkey=>{ const val=typeof jsonString[key]=“object”?JSON.stringifyjsonString[key]:jsonString[key] 返回`${key}=${val}` }.加入“&” //解决方案2 //只需使用严格参数替换为正则表达式 const solution2=queryString.replace/&value={password:\w+}&/gi,“[HIDDEN]” console.log“使用JSON.parse:”,解决方案1
log'Using regex:',solution2虽然有很多包可以用来解决这个问题,但我建议学习如何解决它

下面的解决方案将有助于理解如何制作东西

const queryString=`key\u value=something&type\u name=user&value={password:Test1234}&key\u attribute=guid`; //解决方案1 //将字符串转换为对象、更改键并转换回字符串 const jsonString=queryString .split'&' .reduceAC,下一步=>{ 常量[key,value]=next.split'='; acc[key]=value.indexOf'{'==0?JSON.parsevalue:value; 返回acc }, {} jsonString.value.password='[HIDDEN]' 常量solution1=Object.keysjsonString.mapkey=>{ const val=typeof jsonString[key]=“object”?JSON.stringifyjsonString[key]:jsonString[key] 返回`${key}=${val}` }.加入“&” //解决方案2 //只需使用严格参数替换为正则表达式 const solution2=queryString.replace/&value={password:\w+}&/gi,“[HIDDEN]” console.log“使用JSON.parse:”,solu 第1条 console.log“使用regex:”,解决方案2
queryString=`key_value="something"&type_name=user&value={"password":"Test1234"}&key_attribute=guid`