queryStr 2 json

by irinablue

JavaScript

const queryStr = 'user.name.firstname=Bob&user.name.lastname=Smith&user.favoritecolor=Light%20blue&experiments.theme=dark';

function queryObjectify(query) {
  const result = {};
  const params = query.split('&');
  
  params.forEach(item => {
    const pair = item.split('=');
    const keys = pair[0].split('.');
    console.log(keys);
    
    keys.forEach(i => {
      result[i] = {}
    });
    //result[keys.join('.')] = pair[1];
  })
  
  return result;
}

console.log(queryObjectify(queryStr))

/*
{
  user: {
    name: {
      firstname: 'Bob',
      firstname: 'Smith'
    },
    favoritecolor: 'Light blue'
  },
  experiments: {
    theme: '.'
  }
}
*/