2017-02-05 10 views
0

私はサービスから取得しています次のコードを持っている:JSON解析NodeJSとMongoDBの

[{ 
    "_id": "58954f3bf36d2814d65a9aba", 
    "School": { 
     "id": 1, 
     "name": "X" 
    } 
}, { 
    "_id": "58954f68f36d2814d65a9abb", 
    "School": { 
     "id": 2, 
     "name": "Y" 
    } 
}, { 
    "_id": "58954fa7f36d2814d65a9abc", 
    "School": { 
     "id": 3, 
     "name": "Z" 
    } 
}] 

を私は戻って、私はそれをノードを行うことができますどのように利用者への学校のアレイを送りたいですか?現在私はデータベースにアクセスし、すべての行を返すルータを持っています。しかし、私は正しいタイプを送ることを好むでしょう。あなたができるように、あなたが

var ss=JSON.parse(ss); 

に必要なクライアント側ではSSオブジェクト

var express = require('express'); 
var router = express.Router(); 
var  mongojs  =  require('mongojs'); 
var db = someData; 
router.get('/x', function(req, res, next) 
{ console.log('x service called')  
db.s.find(function (err,  ss)  
{     if (err) { 
       res.send(err); 
        } 

     else{ 
        console.log(ss) 
       ss=JSON.stringify(ss); 
        res.send(ss); 
      } 
      }); }); 
      module.exports = router; 

を文字列化する必要があるの

var express = require('express'); 
var router = express.Router(); 
var  mongojs  =  require('mongojs'); 
var db = someData; 

//Get all users 
router.get('/x', function(req, res, next) { 
    // find everything 
    console.log('x service called')  
    db.s.find(function (err,  ss)  {     
     if (err) { 
      res.send(err); 
     } 
     console.log(ss) 
     res.json(ss); 
    }); 
}); 

// private extractData(res: Response) { 
//  if (res.status < 200 || res.status >= 300) { 
//   throw new Error('Bad response status: ' + res.status); 
//  } 
//  let body = res.json(); 
//  return body.data || {}; 
// } 

module.exports = router; 

おかげ

+0

あなたは学校の配列を送信したいですか? _idなし?上記の配列から? 、{ "学校":{ " –

+0

私が必要なのは、[{{ "ID":1、 "名前"、 "X" } "学校"}であり、出力オブジェクト –

+0

の例を提供してくださいID」:2、 "名前": "Y" } }、{ "学校":{ "ID":3、 "名前": "Z" } }] – sarvs

答えて

0

を次のように私のノードのコードがありますサーバーからデータを抽出する

+1

文字列化が不要ですエクスプレスのres.jsonを使用している場合。内部的に文字列を文字列化して、tinyのヘッダを設定します –

+0

json.parse(string、reviver)を使用する必要がありますか? – sarvs

+0

はい...あなたはそれを行うことができます.....もし私が値するなら、私の答えをupvoteしてください –