Express.js – express.json() function

express.json() is a built-in middleware function in Express. This method is used to parse the incoming requests with JSON payloads and is based upon the bodyparser.
This method returns the middleware that only parses JSON and only looks at the
requests where the content-type header matches the type option.
express.json([options])
Following are the different options available with this method
optionsinflate – This enables or disables the handling of the deflated or compressed bodies. Default: truelimit – This controls the maximum size of the request body.reviver – This option is passed to the JSON.parse method as the second argument.strict – This enables or disables the accepting arrays or objects.type – This determines the media type for the middleware that will be parsed.
options
inflate – This enables or disables the handling of the deflated or compressed bodies. Default: true
inflate – This enables or disables the handling of the deflated or compressed bodies. Default: true
limit – This controls the maximum size of the request body.
limit – This controls the maximum size of the request body.
reviver – This option is passed to the JSON.parse method as the second argument.
reviver – This option is passed to the JSON.parse method as the second argument.
strict – This enables or disables the accepting arrays or objects.
strict – This enables or disables the accepting arrays or objects.
type – This determines the media type for the middleware that will be parsed.
type – This determines the media type for the middleware that will be parsed.
Create a file with the name "express.js" and copy the following code snippet. After creating the file, use the command "node express.js" to run this code.
// express.json() Demo Example

// Importing the express module
var express = require('express');

// Initializing the express and port number
var app = express();
var PORT = 3000;

// Calling the express.json() method for parsing
app.use(express.json());

// Reading content-type
app.post('/', function (req, res) {
   console.log(req.body.name)
   res.end();
})

// Listening to the port
app.listen(PORT, function(err){
   if (err) console.log(err);
   console.log("Server listening on PORT", PORT);
});
Before hitting the API endpoint, set the following two properties
Set the content-type as application/json in headers.
Set the content-type as application/json in headers.
Pass the following body in the POST request – {"name": "TutorialsPoint"}
Pass the following body in the POST request – {"name": "TutorialsPoint"}
C:\home\node>> node express.js
Server listening on PORT 3000
tutorialspoint
Let’s take a look at one more example.
// express.json() Demo Example

// Importing the express module
var express = require('express');

// Initializing the express and port number
var app = express();
var PORT = 3000;

// Without using the json middleware

// app.use(express.json());

// Reading content-type
app.post('/', function (req, res) {
   console.log(req.body.name)
   res.end();
})

// Listening to the port
app.listen(PORT, function(err){
   if (err) console.log(err);
   console.log("Server listening on PORT", PORT);
});
Before hitting the API endpoint, set the following two properties
Set the content-type as application/json in headers.
Set the content-type as application/json in headers.
Pass the following body in the POST request – {"name": "TutorialsPoint"}
Pass the following body in the POST request – {"name": "TutorialsPoint"}
C:\home\node>> node express.js
Server listening on PORT 3000
TypeError: Cannot read property 'name' of undefined
at /home/node/test/express.js:15:23
at Layer.handle [as handle_request]
(/home/node/test/node_modules/express/lib/router/layer.js:95:5)
at next
(/home/node/test/node_modules/express/lib/router/route.js:137:13)
at Route.dispatch
(/home/node/test/node_modules/express/lib/router/route.js:112:3)
at Layer.handle [as handle_request]
(/home/node/test/node_modules/express/lib/router/layer.js:95:5)