NodeJS / AngularJS - 从JSON读取对象数组

时间:2014-06-19 16:32:56

标签: javascript json node.js angularjs mongodb

我在使用Node和Angular从 JSON(来自MongoHQ的BSON)读取嵌套数组时遇到了问题。

JSON代码段http://pastie.org/9305682。专门寻找边缘数组。

猫鼬模型http://pastie.org/9305685

基本上我从数据库调用该字符,然后尝试将其记录到控制台 console.log(char); ,然后使用 res.json(char)将其发送回角度调用; 'char'是数据库中返回的字符,保存为my猫鼬模型。

尝试将角色记录到控制台。 除了具有嵌套“效果”数组的部分外,我看起来一切正常。他们出现的任何地方我都会收到以下信息:

edges:                                                                                                                                                                                                                                        
 [ { name: 'Super Hacker', notes: '', effects: [Object] },                                                                                                                                                                                    
   { name: 'Witty', notes: '', effects: [Object] },                                                                                                                                                                                           
   { name: 'Attractive', notes: '', effects: [Object] },                                                                                                                                                                                      
   { name: 'Encyclopedic Memory',                                                                                                                                                                                                             
     notes: 'Prereq: d8 Smarts',                                                                                                                                                                                                              
     effects: [Object] },                                                                                                                                                                                                                     
   { name: 'Daywalker', notes: '', effects: [Object] },                                                                                                                                                                                       
   { name: 'Tough', notes: '', effects: [Object] } ],    

如果我尝试用以下方式调用它,请从此处开始:

来自NodeJS - console.log(char [0] .edges [0] .effects [0] .type); - 返回undefined。

来自Angular View - {{cur_char.edges [0] .effects [0] .type}} - 不显示任何内容。

提前感谢您的帮助。如果我能提供更多内容,请告诉我。

1 个答案:

答案 0 :(得分:0)

我认为您要问的是如何在控制台输出中查看对象的更多深度。您可以使用util.inspect打印更多信息:

console.log(util.inspect(char, { depth: 5 }));

默认情况下util.inspect只有2的深度,这解释了为什么你只能看到数组(1)的内容和数组中每个元素的基本属性(2)。

请参阅:http://nodejs.org/api/util.html#util_util_inspect_object_options