2013-02-01 8 views
5

私はオブジェクトがあります。エクスプレスで自動的に属性をJSONに追加するようにExpressレスポンス・オブジェクトを構成する方法は?

var obj = { "stuff": "stuff" } 

を、私はそれを送信そうのようなクライアント:

res.json(obj); 

が自動的に生成さJSONに属性を追加するために応答オブジェクトを設定する方法はあります?たとえば、出力する:

{ 
    "status": "ok", 
    "data": { "stuff": "stuff" } 
} 

ありがとう!

答えて

9

データがストリームに追加されたら、それは再送信するには遅すぎます。以前はデータを再送信する必要があります。

単に機能のいずれか:

res.json(wrap(obj)); 

あなたはまた、あなたが今

res.wrap_json(obj); 

それとも、急行JSONを置き換えることができますを呼び出すことができ、独自のJSON方法

express.response.wrap_json = function(obj) { 
    this.json(wrap(obj)); 
}; 

を追加することができますあなたとの実装

var original = express.response.json; 
express.response.json = function(obj) { 
    original.call(this, wrap(obj)); 
}; 

すべてのjson呼び出しを無効にする場合は、最後の呼び出しのみを使用します。

関連する問題