To send a JSON object or an array as a parameter in HTTP requests (GET or POST) in JavaScript, you first need to convert it into an string using the JSON.stringify() method.

Next, use the encodeURIComponent() method to encode the JSON string. It uses the UTF-8 encoding scheme and encodes all characters with special meaning except -_.!~*'().

Finally, you can append the encoded string to the URL and make an HTTP request.

Here is a complete example that uses the Fetch API to make a GET request in JavaScript and sends a JSON array as a parameter:

const users = [
  { name: 'John Deo', age: 23 },
  { name: 'Jane Doe', age: 21 }
]

const encodedData = encodeURIComponent(JSON.stringify(users))

fetch(`https://www.example.com?users=${encodedData}`)
  .then(res => res.text())
  .then(res => console.log(res))
  .catch(err => console.error(err))

// Final URL: https://www.example.com/?users=%5B%7B%22name%22%3A%22John%20Deo%22%2C%22age%22%3A23%7D%2C%7B%22name%22%3A%22Jane%20Doe%22%2C%22age%22%3A21%7D%5D

✌️ Like this article? Follow me on Twitter and LinkedIn. You can also subscribe to RSS Feed.