2014-02-18 128 views
0

我正在为node.js开发使用underscore.js。我需要帮助从json文件获取特定的一组数据,但我似乎无法弄清楚如何解析它以返回我需要的数据。JSON解析层次结构

JSON样品

{ 
     "books": [{ 
     "book1": { 
      "chapters": [{ 
      "ch1" : { 
       "v1": "v1", 
       "v2": "v2" 
      }, 
      "ch2" : { 
       "v1": "v1", 
       "v2": "v2" 
      } 
      }] 
     }, 
     "book2": { 
      "chapters": [{ 
      "ch1" : { 
       "1": "v1", 
       "2": "v2" 
      }, 
      "ch2" : { 
       "1": "x1", 
       "2": "x2" 
      } 
      }] 
     } 
     }] 
    }   

这是我的underscore.js代码

_.each(parse.books[0], function (v, b) { 
     return b; 
     }); 

将返回: BOOK1 第二册

现在,我的下一步就是在那里我有麻烦。我需要为每个书中的每个书都包含所有章节。这是我想做的事:

_.each(parse.books[0], function (v, b) { 
      return b; 
    //Get Chapters 
     _.each(bible.books[0].b.chapters[0], function (v, c) { 
      return c; 
     }); 
     }); 

当我在第二次。每次使用“B”,“B”不会在循环调用每本书的名字,因为我希望它。我不想单独写出每个书名。我需要它在循环中。有人可以帮忙吗?

回答

1

尝试bible.books[0][b].chapters[0]而不是bible.books[0].b.chapters[0]

+0

非常感谢!有趣的是,我尝试了它,但有一段时间在这样:[0]。[b]。有趣的是,一段时间可以完全抛弃一切! – Bob