J'explorais le développement en Node.JS et j'ai trouvé ExpressJS et RailwayJS (basé sur Express) qui sont des frameworks pour Node. Le moteur de templating utilisé par Jade/EJS semble être davantage destiné au HTML. Comment puis-je générer du JSON, par exemple lorsque je développe une API ?
Réponses
Trop de publicités?Express et Railway s'appuient tous deux sur le module HTTP de node et fournissent un objet "réponse" comme deuxième argument du rappel du gestionnaire de route/middleware. Le nom de cet argument est généralement raccourci en res
pour économiser quelques frappes.
Pour envoyer facilement un objet sous forme de message JSON, Express expose la méthode suivante :
res.json({ some: "object literal" });
Exemples :
app.use(function (req, res, next) {
res.json({ some: "object literal" });
});
// -- OR -- //
app.get('/', function (req, res, next) {
res.json({ some: "object literal" });
});
Consultez la documentation sur expressjs.com et la source github est également bien documentée.
Vous créez simplement des objets JavaScript normaux, par exemple :
var x = {
test: 1,
embedded: {
attr1: 'attr',
attr2: false
}
};
y
JSON.stringify(x);
le transforme en chaîne JSON. Notez que x
peut contenir des fonctions qui seront omises. Voir aussi JSON.stringify
renvoie à x.toJSON()
si .toJSON()
est disponible.