JSON解析NodeJS和MongoDB

JSON解析NodeJS和MongoDB,json,node.js,mongodb,Json,Node.js,Mongodb,我从服务中获得以下代码: [{ "_id": "58954f3bf36d2814d65a9aba", "School": { "id": 1, "name": "X" } }, { "_id": "58954f68f36d2814d65a9abb", "School": { "id": 2, "name": "Y" } }, { "_id": "58954fa7f36d28

我从服务中获得以下代码:

  [{
    "_id": "58954f3bf36d2814d65a9aba",
    "School": {
        "id": 1,
        "name": "X"
    }
}, {
    "_id": "58954f68f36d2814d65a9abb",
    "School": {
        "id": 2,
        "name": "Y"
    }
}, {
    "_id": "58954fa7f36d2814d65a9abc",
    "School": {
        "id": 3,
        "name": "Z"
    }
}]
我想把一个数组发送回学校的用户,我该怎么做节点呢?目前我有一个路由器,它访问数据库并返回所有行。但是我想寄正确的型号。我的节点代码如下

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;
var express=require('express');
var router=express.router();
var mongojs=require('mongojs');
var-db=someData;
//获取所有用户
router.get('/x',函数(req,res,next){
//找到一切
console.log('x服务被调用')
db.s.find(函数(err,ss){
如果(错误){
res.send(err);
}
控制台日志(ss)
res.json(ss);
});
});
//私有数据(res:Response){
//如果(分辨率状态<200 | |分辨率状态>=300){
//抛出新错误(“错误响应状态:”+res.status);
//     }
//让body=res.json();
//返回body.data |{};
// }
module.exports=路由器;

谢谢

您应该需要将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 ss=JSON.parse(ss);

这样您就可以从服务器中提取数据了

您只想发送一组学校吗?没有身份证?请提供一个输出对象的例子,我只需要[{“School”:{“id”:1,“name”:“X”},{“School”:{“id”:2,“name”:“Y”},{“School”:{“id”:3,“name”:“Z”}]字符串化在使用express的res.json时是不必要的。它在内部字符串化并设置cintent tyoe Headers是否应该使用json.parse(string,Revivier)?