我基本上正在构建一个快速而肮脏的课程目录,其中包含多个不同层次的类别和课程。
在旧的实现中,每个主要类别都是自己的HTML页面,所有与该类别相关的课程都只是用html写入该页面。该目录过去主要是静态的,所以这个工作正常,但现在可能会更频繁地添加课程和类别,并且一些用户视图选项可能会在将来更改/扩展。
我以为我会将所有原始数据(课程和目录结构)分成JSON,然后根据这些数据生成视图。我认为这样可以更轻松地维护内容,而无需处理适当的CMS或数据库。任何时候我需要添加一个课程,我只是把它扔进json文件。
第一个问题:你会推荐这个吗?
第二个问题:如果您认为使用JSON是一个好主意,您是否将分类结构与课程分开为两个JSON文件,然后使用JS操作它们?或者,您是否有一个JSON,其中课程数据嵌入在目录类别结构中?
这是我想到的一个例子。也许我会使用Underscore将这两个数据正确合并(在适当的类别中推送到“courses”数组中),然后将它们输出到HTML列表视图中。
// JSON of categorical STRUCTURE / HIERARCHY
{
"catalog":{
"name":"Course Catalog",
"categories":[
{
"name":"Category A",
"categories":[
{
"name":"Category A1",
"categories":[
{"name":"Category A1a"}
]
},{
"name":"Category A2",
"categories":[
{"name":"Category A2a"},
{"name":"Category A2b"},
{"name":"Category A2c"}
]
},{
"name":"Category A3",
"categories":[
{"name":"Category A3a"},
{"name":"Category A3b"},
{"name":"Category A3c"}
]
}
]
},{
"name":"Category B"
},{
"name":"Category C"
}
]
}
}
// JSON array of all courses (to be plugged into the structure later through code,
// then output to HTML as nested lists etc.)
{
"courses":[
{
"name":"Course AAA",
"category":"Category A1a",
"abstract":"Some sort of short string description.",
"description":"Some sort of longer string description that will be used in the object."
},
{
"name":"Course BBB",
"category":"Category A1b",
"abstract":"Some sort of short string description.",
"description":"Some sort of longer string description that will be used in the object."
},
{
"name":"Course CCC",
"category":"Category B",
"abstract":"Some sort of short string description.",
"description":"Some sort of longer string description that will be used in the object."
},
]
}
答案 0 :(得分:2)
首先,如果您的数据将包含数百或数千个条目,我将使用数据库来管理它。它只会简化生活,减少数据损坏的可能性。
它还可以加快您的应用程序,因为数据库查询比文件查询快得多(除非您预先加载文件;但如果您有大量文件,预加载也会影响您的应用程序性能。)
如果你没有那么多(这是主观的,但我会说少于100个)条目,你需要跟踪你可以按照你建议的方式用json。 (这几乎是sqlite所做的)。
如果您最终采用这种方式,我会采用多文件方法来实现,这实际上会为您提供与多表数据库相同的结构。
最后,我将研究如何使用pure将json数据集成到您的视图中。特别是对于2文件设置,使用directives and data查看他们的示例(该页面上的第4个示例。