2017-07-28 1 views
0

Zunächst tut mir leid, es ist eine Anfängerfrage, aber ich kann nicht scheinen, allein zu gehen. Ich arbeite an einer App, die Nachrichten nach einem bestimmten Parameter in Json versenden wird. Ich habe nach dem in app.config.jsonNode.js Fehler beim Routing

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

} 


} 
</code> 

Und der Router ist:

<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> 

Mein Problem ist, ich versuche, mehr Dienstleistungen zu app.config.json hinzuzufügen, die mir geben landet der folgende Fehler:

undefined:20 
    "service2": { 
    ^

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

Any ideas?

Thank you in advance.

+0

Funktioniert! Vielen Dank! – Spanglish

Antwort

0

Maybe you are missing a , im JSON-Objekt. Lass es uns versuchen:

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