@kachurinets

Как сериализовать вложенный объект?

Хочу перевести вложенный объект в строку, для отправки на бекенд.
https://jsfiddle.net/rwcjapft/

Есть такой объект:

let obj = {
  page: "1",
  search: {title: "gfsg", without_complex: false},
  size: "10",
  items: 323
}

На выходе нужно получить:

page=1&search[title]=gfsg&search[without_complex]=false&size=10&items=323

Как?
  • Вопрос задан
  • 132 просмотра
Решения вопроса 2
0xD34F
@0xD34F Куратор тега JavaScript
const serialize = (obj, path) => Object
  .entries(obj)
  .map(([ k, v ]) => {
    const p = path ? `${path}[${k}]` : k;
    return v instanceof Object ? serialize(v, p) : `${p}=${v}`;
  })
  .join('&');
Ответ написан
Комментировать
Ni55aN
@Ni55aN
Для этого есть уже готовое решение: https://github.com/ljharb/qs
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы