我在请求正文中收到以下字符串:
params%5Bparam1%5D=543543¶ms%5Bparam2%5D=fdasghdfghdf¶ms%5Btest%5D=yes
如何将此转换为普通JSON?
这是从API网关解析为Lambda代理的请求体。
答案 0 :(得分:1)
如果你想在JavaScript中快速而肮脏(从this related answer修改)
let params = "params%5Bparam1%5D=543543¶ms%5Bparam2%5D=fdasghdfghdf¶ms%5Btest%5D=yes";
let result = JSON.parse('{"' +
decodeURIComponent(params)
.replace(/"/g, '\\"')
.replace(/&/g, '","')
.replace(/params\[/g, '')
.replace(/\]=/g, '=')
.replace(/=/g, '":"') +
'"}');
console.log(result);