在两个属性上进行平坦到嵌套的JSON分组

时间:2013-11-27 14:12:18

标签: javascript json

所以我的目标是通过从JSON形成嵌套的UL来创建层次结构。我没有太多困难就完成了这件事;但是,有多名员工向多个主管报告。这导致需要分组数百个额外的HTML列表和列表项。所以,我的想法是按职称和主管对员工进行分组。在使用javascript构建UL之前尝试重构JSON是否最好?我花了很多时间来确定最好的方法,但我似乎无法弄明白。

基本上,这是从服务器中提取的JSON:

{ "name" : "A", "supervisor_title":"null", "title": "job_A", "extension":"1234"},
{ "name" : "B", "supervisor_title":"job_A", "title": "job_B", "extension":"2345"},
{ "name" : "C", "supervisor_title":"job_A", "title": "job_B", "extension":"3456"},
{ "name" : "D", "supervisor_title":"job_A", "title": "job_C", "extension":"4567"},
{ "name" : "E", "supervisor_title":"job_C", "title": "job_D", "extension":"5678"},
{ "name" : "F", "supervisor_title":"job_D", "title": "job_E", "extension":"6789"}

我的想法是,如果我将JSON嵌套到类似下面的内容中,那么我将能够递归地构建UL,而不会遇到我现在遇到的问题。

{"supervisor_title":"null", "title": "job_A", "employees":[
    { "name" : "A", "extension":"1234"}
] },
{"supervisor_title":"job_A", "title": "job_B", "employees":[
    {"name" : "B", "extension":"2345"},
    {"name" : "C", "extension":"3456"}
] },
{"supervisor_title":"job_A", "title": "job_C", "employees":[
     { "name" : "D", "extension":"4567"}
] },
{"supervisor_title":"job_C", "title": "job_D", "employees":[
     { "name" : "E", "extension":"5678"}
] },
{"supervisor_title":"job_D", "title": "job_E", "employees":[
    { "name" : "F", "extension":"6789"}
] }

我已经想出如何通过“supervisor_title”嵌套JSON,但不是“supervisor_title”和“title”。如果有人能指出我正确的方向,我会非常感激。此外,如果有更好的方法,请告诉我。

0 个答案:

没有答案