title: Returning JSON encode string from node.js
body: <p>I am a complete noob in node.js and trying to learn it by using learnyounode. I am stuck at the last problem of the learnyounode -
  [HTTP JSON API SERVER].<br>
  Here the tutorial will call a url to provide a time (as iso standard) and the node.js server should return the json reply in (k,v) where pair will be k = { "hour", "minute", "second" }.</p>
  
  <p>My solution goes like below -</p>
  
  <pre><code>var http = require('http');
  var url = require('url');
  
  function get_json(str) {
          var result = [];
          str = str.substr(str.lastIndexOf('T') + 1);
          result['hour'] = Number(str.substring(0, str.indexOf(':')));
          str = str.substring(str.indexOf(':') + 1);
          result['minute'] = Number(str.substring(0, str.indexOf(':')));
          str = str.substring(str.indexOf(':') + 1);
          result['second'] = Number(str.substring(0, str.indexOf('.')));
          return result;
  }
  
  function get_unix(str) {
          var result = get_json(str);
          result['unix'] =  ((result['hour'] * 3600000) +
                  (result['min'] * 60000) + (result['sec'] * 1000));
          return result;
  }
  
  var server = http.createServer(function (req, res) {
          if (req.method != 'GET') {
                  return res.write('{ "error": "query-failed" }');
          }
          var cur_url = url.parse(req.url, true);
          if (cur_url['pathname'] == '/api/parsetime') {
                  res.writeHead(200, { 'Content-Type': 'application/json' });
                  res.write(JSON.stringify(get_json(cur_url['query']['iso'])));
          } else if (cur_url['pathname'] == '/api/unixtime') {
                  res.writeHead(200, { 'Content-Type': 'application/json' });
                  res.write(JSON.stringify(get_unix(cur_url['query']['iso'])));
          }
          console.log(get_json(cur_url['query']['iso']));
          console.log(JSON.stringify(get_json(cur_url['query']['iso'])));
          res.end();
  });
  
  server.listen(process.argv[2]);
  </code></pre>
  
  <p>But the solution is not working correctly because <code>JSON.stringify()</code> is returning empty [] string. What am I missing here?</p>
  
  <p>Current Solution's Output:</p>
  
  <pre><code>[ hour: 7, minute: 27, second: 38 ]
  []
  []
  []
  [ hour: 7, minute: 27, second: 38 ]
  []
  </code></pre>