title: How can I access my req.body data/json in Express?
body: <p>I am new to node.js and I am trying to access json on my node.js server from a post request so I can send it to an API and feed it back to my front-end js file. I can see the json object, but I can't seem to access it(ex: req.body.name) after reading some documentation/stackoverflow posts. </p>
  
  <p>Here is my post route from my server.js file, and packages: </p>
  
  <pre><code>    var prettyjson = require('prettyjson');
      var express = require('express');
      var http = require('http');
      var cors = require('cors');
      var bodyParser = require('body-parser');
      var app = express();
  
  
      // create application/json parser 
      app.use(bodyParser.json());
      // create application/x-www-form-urlencoded parser 
      app.use(bodyParser.urlencoded({
          extended: true
      }));
  
      app.post('/', function(req, res) {
  
      var test = req.body; //If I req.body.name here, it will return undefined
      console.log(test);
  
      });
  </code></pre>
  
  <p>Here is my front end map.js file post function and data: </p>
  
  <pre><code>  var locations = [
    {name:'Le Thai', coords:{lat:36.168743, lng:-115.139866}},
    {name:'Atomic Liquors', coords:{lat:36.166782, lng:-115.13551}},
    {name:'The Griffin', coords:{lat:36.168785, lng:-115.140329}},
    {name:'Pizza Rock', coords:{lat:36.17182, lng:-115.142304}},
    {name:'Mob Museum', coords:{lat:36.172815,lng:-115.141242}},
    {name:'Joe Vicari’s Andiamo Italian Steakhouse', coords:{lat:36.169437, lng:-115.142903}},
    {name:'eat', coords:{lat:36.166535, lng:-115.139067}},
    {name:'Hugo’s Cellar', coords:{lat:36.169915, lng:-115.143861}},
    {name:'Therapy', coords:{lat:36.169041, lng:-115.139829}},
    {name:'Vegenation', coords:{lat:36.167401, lng:-115.139453}}
  
    ];
     //convert array to JSON 
     var jsonStr = JSON.stringify(locations);
  
     $.post('http://localhost:3000/', jsonStr, function(data){
       //empty for now
  
     },'json'); 
  </code></pre>
  
  <p>End goal: I want to be able to access my data like req.body.name. I tried using typeof on req.body, and it returns an object, however I can't seem to access this object. And I tried using JSON.parse, but realized req.body is already an object. I would like to serve this data to the Yelp API eventually.</p>
  
  <p>Current output(per request) from console.log(req.body): </p>
  
  <pre><code>{ '{"name":"Le Thai","coords":{"lat":36.168743,"lng":-115.139866}},
  {"name":"Atomic Liquors","coords":{"lat":36.166782,"lng":-115.13551}},
  {"name":"The Griffin","coords":{"lat":36.168785,"lng":-115.140329}},
  {"name":"Pizza Rock","coords":{"lat":36.17182,"lng":-115.142304}},
  {"name":"Mob Museum","coords":{"lat":36.172815,"lng":-115.141242}},
  {"name":"Joe Vicari’s Andiamo Italian Steakhouse","coords":
  {"lat":36.169437,"lng":-115.142903}},{"name":"eat","coords":
  {"lat":36.166535,"lng":-115.139067}},{"name":"Hugo’s Cellar","coords":
  {"lat":36.169915,"lng":-115.143861}},{"name":"Therapy","coords":
  {"lat":36.169041,"lng":-115.139829}},{"name":"Vegenation","coords":
  {"lat":36.167401,"lng":-115.139453}}': '' }
  </code></pre>