Node.js express.json middleware pas d'analyse de la demande comme prévu

J'ai une simple boucle (je pense que c'est à droite) qui publie un petit objet JSON pour exprimer mon serveur:

curl -d "{'test': 'this'}" localhost:3000/rest/user/authenticate

J'ai exprès mis en place comme:

//set up body parsing in express  to be able  to get parse JSON posts
server.use(express.json());
server.use(express.urlencoded());

et ont le gestionnaire accepte la route:

JSON = require('JSON')
module.exports = {
    authenticateUser: function create(req, res){
        var postedObject = req.body
        console.log(postedObject)
        res.send('Handle Post: authenticateUser');
    }
}

le gestionnaire est appelé, mais c'est l'enregistrement de l'JSON corps de façon inattendue:

{ '{\'test\': \'this\'}': '' }

Donc, mon ensemble de l'objet semble être le nom côté d'un JSON Nom:Valeur de l'objet. peu importe ce que je poste, il semble être en ajoutant de la valeur à côté. Sauf si je fais quelque chose comme ceci:

curl -d "a=a" localhost:3000/rest/user/authenticate

qui enregistre le:

{'a':'a'}

donc je ne l'ai pas mis dans le droit des en-têtes? Configuré express de mal? J'ai l'intention de creuser par le biais de l'express code, mais il se demande si quelqu'un pourrait savoir avant de trouver la solution. De toute façon avoir une base de/indexés réponse à cette sur le web sera agréable.

mise à jour de 1

ok j'ai besoin d'ajouter l'en-tête de la boucle

curl -H "Content-Type: application/json" -d "{'test': 'this'}" localhost:3000/rest/user/authenticate

qui donne l'erreur:

Parsing: {'test': 'this'}
SyntaxError: Unexpected token '
    at Object.parse (native)
    at C:\blah\node_modules\express\node_modules\connect\lib\middleware\json.js:86:19
        at IncomingMessage.onEnd (C:blah\node_modules\express\node_modules\connect\node_modules\raw-body\index.js:109:7)
        at IncomingMessage.g (events.js:180:16)
        at IncomingMessage.EventEmitter.emit (events.js:92:17)
        at _stream_readable.js:920:16
        at process._tickCallback (node.js:415:13)

OU
curl-H "Content-Type: application/json" -d "{test: 'cette'}" localhost:3000/repos/utilisateur/authentifier

qui donne l'erreur:

Parsing: {test: 'this'}
SyntaxError: Unexpected token t
    at Object.parse (native)
    at C:\blah\node_modules\express\node_modules\connect\lib\middleware\json.js:86:19
        at IncomingMessage.onEnd (C:blah\node_modules\express\node_modules\connect\node_modules\raw-body\index.js:109:7)
        at IncomingMessage.g (events.js:180:16)
        at IncomingMessage.EventEmitter.emit (events.js:92:17)
        at _stream_readable.js:920:16
        at process._tickCallback (node.js:415:13)

mise à jour 2

dans le fichier connect/lib/middleware/json.js

cette ligne semble être la seule à l'origine de problèmes

req.body = JSON.parse(buf, options.reviver);

mise à jour 3

Je pense vraiment que c'est mon cURL

buf= JSON.stringify({test: 'This'});
console.log(buf)
req.body = JSON.parse(buf, options.reviver);

œuvres de la connexion la première
{"test":"cette"}

et puis dans mon gestionnaire de:

----------------------
{ test: 'this' }
----------------------

OriginalL'auteur akaphenom | 2014-02-09