Json 准备NodeJS DB内容以便在Mustache中使用
我有一个FAQ库,这些FAQ在前端分为多个选项卡,我们已经构建了一个处理它们的NodeJS应用程序,这样我们就可以拥有一个FAQ数据库,而不是硬编码的HTML 我有一个NodeJS模型,生成一个JSON文件,该文件通过标签关联过滤问题,如下所示:Json 准备NodeJS DB内容以便在Mustache中使用,json,node.js,underscore.js,Json,Node.js,Underscore.js,我有一个FAQ库,这些FAQ在前端分为多个选项卡,我们已经构建了一个处理它们的NodeJS应用程序,这样我们就可以拥有一个FAQ数据库,而不是硬编码的HTML 我有一个NodeJS模型,生成一个JSON文件,该文件通过标签关联过滤问题,如下所示: res = _.groupBy(res, 'tab_title'); 这就是输出 但是,以下是原始JSON文件的结构,模板中的Mustache标记希望它看起来像: { "tabs": [ { "title": "Tab tit
res = _.groupBy(res, 'tab_title');
这就是输出
但是,以下是原始JSON文件的结构,模板中的Mustache标记希望它看起来像:
{
"tabs": [
{
"title": "Tab title",
"id": 1,
"questions": [
{
"question": "Question here",
"id": 1,
"answer": "Answer here"
},
{
"question": "Question two",
"id": 2,
"answer": "Answer here"
}
]
},
{
"title": "Another title",
"id": 2,
"questions": [
{
"question": "Question here",
"id": 1,
"answer": "Answer here"
},
{
"question": "Question two",
"id": 2,
"answer": "Answer here"
}
]
}
}
这样前端标签就可以在标签上循环,然后在标签内循环问题,这样前端就相对自动化了
我曾尝试使用\uuu.map
函数来输出此结构中所有适当的信息,但我真的很挣扎。有人能为我指出一个有帮助的方向吗
我希望这是足够的信息,但如果没有,我可以提供更多
谢谢 因此,我们开始像您一样生成组
_.groupBy(myArray, 'tab_title');
然而,这并不能完全解决我们这里的问题,对象仍然与预期的结构不匹配。它看起来像:
{
"tab_title1" : [{...}, {...}],
"tab_title2" : [{...}, {...}]
}
因此,我们可以使用map函数进一步处理:
_.map(groupObject, (lstFaqs, tab_title) => {
let first = _.first(lstFaqs),
tab_object = {
title: first.tab_title,
id: first.tab_id,
questions: _.map(lstFaqs, (faqItem) => {
id: faqItem.faq_id,
question : faqItem.faq_question,
answer : faqItem.faq_answer
})
}
return tab_object;
})
我们将得到一个tab_对象数组。因此,要最终确定格式,请执行以下操作:
let result = { "tabs" : array_of_tab_object }
我希望这有帮助