2017-07-28 16 views
0

まず最初は申し訳ありませんが、初心者の質問ですが、自分で外出することはできません。 私はJsonの特定の1つのパラメータに従ってメッセージをディスパッチするアプリケーションに取り組んでいます。私はapp.config.jsonNode.jsルーティングのエラー

<code> 
{ 
    "server": { 
     "port": "8080" 
    }, 
    "auth":{ 
     "users": { 
      "xxx": "xxxxx" 
     }, 
     "unauthorizedResponse": "Unauthorized!" 
    }, 
    "services": { 
    "service one": { 
     "address": "http://localhost", 
     "port": "8000" 
    } 

} 


} 
</code> 

に以下の持っているルータは、次のとおりです。

<code> 
const request = require('request'); 
const express = require("express"); 
const router = express.Router(); 
const fs = require("fs"); 
const configs = JSON.parse(fs.readFileSync(__dirname + '/../app.config.json', 'utf8')); 

const services = configs.services; 



router.post('/', (req, res) => { 
    let serviceName = req.get('service-name'); 

    if (services[serviceName]) { 

     let requestOptions = { 
      uri: services[serviceName].address + ":" + services[serviceName].port, 
      json: req.body 
     } 
     request.post(requestOptions, (error, response, body) => { 

      res.send(body); 
     }); 
    } else { 
     res.send("There is no service named " + req.get("service-name")) 
    } 

}); 

module.exports = router; 

</code> 

私の問題は、私は私を与えてしまいapp.config.jsonにサービスを追加しようとしていますされます次のエラー:

undefined:20 
    "service2": { 
    ^

SyntaxError: Unexpected string in JSON at position 313 
</code> 

Any ideas?

Thank you in advance.

+0

Worked!ありがとうございました! – Spanglish

答えて

0

Maybe you are missing a , JSONオブジェクトにあります。これを試してみましょう:

"service one": { 
    "address": "http://localhost", 
    "port": "8000" 
}, 
"service two": { 
     "address": "http://localhost/route2", 
     "port": "8000" 
    }