I'm just trying to send object from client to nodejs server 

Ajax call:

```
$.ajax({
  url: config.api.url,
  type: config.api.method,
  contentType: config.api.contentType, // application/x-www-form-urlencoded; charset=UTF-8
  dataType: config.api.dataType,       // JSON
  data: config.api.dataType === 'GET' ? {} : JSON.parse(tmp),
  headers: config.api.headers,
  success: (response) => { onSuccess(response); },
  error: (error) => { onError(error); }
});

```

Sent Data:

```
{
  sort: { name: 1 }
}
// I set name property by sort['name'] = 1; at js

```

But the server received:

```
{ 'sort[name]': 1 }
Nodejs server code:

exampleData = (req, res) => {
  var sort = req.body.sort;
  console.log(sort);       // undefined
  console.log(req.body);   // { ..., 'sort[name]': 1 }
}

```

Chrome Form Data:
[![enter image description here](https://i.stack.imgur.com/KktAL.png)](https://i.stack.imgur.com/KktAL.png)

So, I can't read object correctly like an object at js code.

My nodejs server code:

```
import * as bodyParser from 'body-parser';
import * as express from 'express';
import * as mongoose from 'mongoose';
import * as path from 'path';
import * as cookieParser from 'cookie-parser';

const app = express();
app.use(bodyParser.json({ limit: 1024*1024*20, type: 'application/json' }));
app.use(bodyParser.urlencoded({ extended: false }));
// app.use(express.bodyParser({limit: '50mb'}));
app.use(cookieParser());

```

How can I fix it?