node.js - 在 Jade 中,node.js Json解析

  显示原文与译文双语对照的内容
82 2

我想在 jade.I 发送Json数据,但这给出了这样的错误

 app.get('/showRequestAccepted',function(req,res){
 Account.getFriends(req.user,{"friends.status":Status.Accepted},function(err,sonuc) {
 if(err) throw err
//Json'i formatted göstermek için null ve 4 boşluk için
 else
 console.log(sonuc);
 res.render('profil',{sonuc:JSON.stringify(sonuc)});
 });
});

在 Jade 中使用 Jade 迭代 JSON 我发现这个例子对我没有帮助

 each jsonObj in sonuc
 li=jsonObj.username

我收到这个错误。

 500 TypeError:/Users/ANTEGRUP/Desktop/passport-local-master/views/profil.jade:31 29| 30| div#userlist> 31| each jsonObj in sonuc 32| li=jsonObj.username 33| 34| Cannot read property 'length' of undefined
时间:原作者:0个回答

123 0

我认为你对JSON和javascript对象感到困惑,基本上你的代码应该是:

 app.get('/showRequestAccepted',function(req,res){
 Account.getFriends(req.user,{"friends.status":Status.Accepted},function(err,sonuc) {
 if(err) throw err
//Json'i formatted göstermek için null ve 4 boşluk için
 else
 console.log(sonuc);
 res.render('profil',{sonuc: sonuc)});
 });

要使示例工作,sonuc 必须是具有用户名字段的对象的array 。在javascript对象文字表示法中,这将是一个示例:[{ username : 'a' }]

现在JSON是数据交换格式。执行 JSON.stringify(sonuc), 时,会得到一个表示 array的字符串。你可以用typeof JSON.stringify(sonuc) === 'string'它返回 true 。但在这种情况下,我们需要一个对象 array,如果它是 array,则 Array.isArray(sonuc) 应该是 return true 。

你可以查看以下问题:Javascript对象 vs

原作者:
...