# How to send a JSON object as a parameter in HTTP requests in JavaScript

By Atta Ur Rehman Shah (https://attacomsian.com/about). Published Jul 24, 2022. Topics: JavaScript.
Canonical URL: https://attacomsian.com/blog/javascript-send-json-object-in-http-request

> A quick guide to learning how to pass a JSON object or an array as a parameter in HTTP requests in JavaScript.

To send a [JSON object](https://attacomsian.com/blog/what-is-json#json-objects) 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](https://attacomsian.com/blog/json-parse-stringify#jsonstringify). 

Next, use the `encodeURIComponent()` method to [encode the JSON string](https://attacomsian.com/blog/javascript-encode-url#encodeuricomponent). 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](https://attacomsian.com/blog/javascript-fetch-api#get-request) to make a GET request in JavaScript and sends a JSON array as a parameter:

```javascript
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
```
