Node.js Mongonese查询结果和字符串应用JSON.parse()之间的差异

Node.js Mongonese查询结果和字符串应用JSON.parse()之间的差异,node.js,json,express,mongoose,Node.js,Json,Express,Mongoose,在我的Express.js站点中,我有一个Mongonese查询结果和一个字符串applied JSON.parse(),在console.log中,我检查了它们的内容是否相同。但当传递给客户端时,结果是不同的 带有Mongonese查询结果的Express.js控制器 在console.log中可以显示结果 [ {name:'Name1',单位:'C'}, {name:'Name2',单位:'A'} ] Express.js控制器,应用字符串JSON.parse() 它接受从另一个表单提交的数

在我的Express.js站点中,我有一个Mongonese查询结果和一个字符串applied JSON.parse(),在console.log中,我检查了它们的内容是否相同。但当传递给客户端时,结果是不同的

  • 带有Mongonese查询结果的Express.js控制器
  • 在console.log中可以显示结果

    [ {name:'Name1',单位:'C'}, {name:'Name2',单位:'A'} ]

  • Express.js控制器,应用字符串JSON.parse() 它接受从另一个表单提交的数据和字符串
  • 在console.log中,返回相同的结果

    3.索引PUG文件

    block variables
       - var memberlist=JSON.stringify(member);
    block content
        script.
            var memberlist=#{memberlist};
    
    对于Mongonese查询结果,PUG文件输出为

    var memberlist={name:'Name1',unit:'C'},{name:'Name2',unit:'A'}

    对于带有JSON.parse()的字符串,PUG文件输出为

    var memberlist=[对象对象],[对象对象]

    我可以知道如何使第二种情况下,字符串与JSON.parse()输出相同的结果作为第一种情况吗?它们之间有什么区别

    编辑:只需使用localeCompare()尝试下面的代码,输出为0。log(JSON.stringify(req.body.memberList).localeCompare(JSON.stringify(results.memberList))

    exports.search2 = function(req, res,next) {   
        async.parallel({
          //skipped the parts that perform DB operations
    
          if(IsJsonString(req.body.memberList))
             var memberList= JSON.parse(req.body.memberList);
    
        }, function(err, results) {
            console.log(memberList);
            res.render('index', { error: err, member: memberList});
        });
    };
    
    block variables
       - var memberlist=JSON.stringify(member);
    block content
        script.
            var memberlist=#{memberlist};