嗨我需要使用查询参数构造到url请求,我有一个带有键和值的嵌套对象,如下所示 "user": { "first_name": "Srini", "last_name": "Raman", "gender": "male", "dob": "1992-08-02", "address_attributes": { "city": "San Diego", "state": "CA", "zip": 92127, "country": "USA", "latitude": 37.257009, "longitude": -120.050767 }}我需要获得一个查询参数user[first_name]=Srini&user[last_name]=Raman&user[address_attributes][city]=San Diego&user[address_attributes][state]=CA
2 回答
慕后森
TA贡献1802条经验 获得超5个赞
let obj = {
user: {
first_name: 'Srini',
last_name: 'Raman',
gender: 'male',
dob: '1992-08-02',
address_attributes: {
city: 'San Diego',
state: 'CA',
zip: 92127,
country: 'USA',
latitude: 37.257009,
longitude: -120.050767
}
}};let getPairs = (obj, keys = []) =>
Object.entries(obj).reduce((pairs, [key, value]) => {
if (typeof value === 'object')
pairs.push(...getPairs(value, [...keys, key]));
else
pairs.push([[...keys, key], value]);
return pairs;
}, []);let x = getPairs(obj)
.map(([[key0, ...keysRest], value]) =>
`${key0}${keysRest.map(a => `[${a}]`).join('')}=${value}`)
.join('&');console.log(x);添加回答
举报
0/150
提交
取消
