maximos
maximos

Reputation: 11

Convert multilevel object to query string

How i can convert object into location%5Bokrug%5D%5B%5D=38&location%5Bokrug%5D%5B%5D=41:

let filter = {
    location: {
        okrug: [38, 41]
    }
}

URLSearchParams does not help:

console.log(new URLSearchParams(filter).toString()) //got location=%5Bobject+Object%5D

location%5Bokrug%5D%5B%5D=38&location%5Bokrug%5D%5B%5D=41

Upvotes: 0

Views: 1380

Answers (1)

Mr. Polywhirl
Mr. Polywhirl

Reputation: 48610

You could use a query parser library like qs that has been thoroughly tested.

I included a snippet that uses version 6.11.0 below.

const filter = { location: { okrug: [38, 41] } };
  
console.log(Qs.stringify(filter, { encode: true }));
<script src="https://cdnjs.cloudflare.com/ajax/libs/qs/6.11.0/qs.min.js"></script>

Output

location%5Bokrug%5D%5B0%5D=38&location%5Bokrug%5D%5B1%5D=41

Related questions

Upvotes: 2

Related Questions