How to Use JSON with Axios
Apr 21, 2021
By default, when making a request to a server using axios,
the Content-Type
is set to send JSON
data. The server is
not held to that same standard however and may send the data
back in a different format. Axios has the transformResponse
to enable you to specify how you want it received on the response.
Below is an example demonstrating how to make a simple GET
request with
Axios:
const axios = require('axios');
const res = await axios.get('https://httpbin.org/get', { params: { answer: 42 } });
res.constructor.name; // 'Object', means `res` is a POJO
// `res.data` contains the parsed response body
res.data; // { args: { answer: 42 }, ... }
res.data instanceof Object; // true
How to POST/PUT JSON
When making a POST
or PUT
request,
Axios will automatically parse
the data to JSON, provided you are sending an object,
and make the necessary adjustments elsewhere in the request so it can be automatically
parsed once received by the server.
POST
// Axios automatically serializes `{ answer: 42 }` into JSON.
const res = await axios.post('https://httpbin.org/post', { answer: 42 });
res.data.data; // '{"answer":42}'
res.data.headers['Content-Type']; // 'application/json;charset=utf-8',
PUT
const res = await axios.put('https://httpbin.org/put', { hello: 'world' });
res.data.json; // { hello: 'world' }
Did you find this tutorial useful? Say thanks by starring our repo on GitHub!