节点12
我有以下JSON字符串(用作数据库搜索的过滤器)
{"$and":[{"txnType":{"$in":["Cash Expense"]}}]}
我希望这个丑陋的字符串看起来像这样,这样我就可以将它显示到前端:
txnType="Cash Expense"
下面是我的方法:
function prettyupFilters(uglyFilters){
let filters
filters = uglyFilters
.replace(/{/g,'').replace(/}/g,'')
.replace('$$and','').replace('$$in', '=')
.replace(/[/g,'').replace(/]/g,'')
.replace(/:/g,'').replace(/:/g,'')
return filters
}
但是,这会产生:
"$nd"["txnTy""$in"["Csh Exns"]]
如何调整代码以替换字符串中的字符以实现所需的输出?谢谢
您应该将字符串解析为一个对象,如下所示:
JSON.parse("...")
然后可以提取所需的值
const obj = JSON.parse(`{"$and":[{"txnType":{"$in":["Cash Expense"]}}]}`)
console.log(`txnType=${obj.$and[0].txnType.$in[0]}`)