Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery JSON:有可能有一个具有多个值的键吗?_Jquery_Arrays_Angularjs_Json_Filter - Fatal编程技术网

Jquery JSON:有可能有一个具有多个值的键吗?

Jquery JSON:有可能有一个具有多个值的键吗?,jquery,arrays,angularjs,json,filter,Jquery,Arrays,Angularjs,Json,Filter,为了安全起见,我喜欢给出很多细节,如果你不需要背景故事,请随意跳过问题 我正在开发一个触摸屏目录,可以显示我中心的所有员工。当我们开始为目录构建JSON文件时,目录被分解为多个部门(管理、销售、标准等),我们将它们按部门分解,因此我们有一个Management.JSON文件,Sales.JSON等等。我们即将完成目录的1.0版本并部署它,但是,现在我们已经构建了所有JSON文件,我们看到有一个小问题。很多员工都属于不止一个类别,当我们将所有JSON文件分开时,这不是一个大问题,因为我们可以在s

为了安全起见,我喜欢给出很多细节,如果你不需要背景故事,请随意跳过问题

我正在开发一个触摸屏目录,可以显示我中心的所有员工。当我们开始为目录构建JSON文件时,目录被分解为多个部门(管理、销售、标准等),我们将它们按部门分解,因此我们有一个Management.JSON文件,Sales.JSON等等。我们即将完成目录的1.0版本并部署它,但是,现在我们已经构建了所有JSON文件,我们看到有一个小问题。很多员工都属于不止一个类别,当我们将所有JSON文件分开时,这不是一个大问题,因为我们可以在sales.JSON和management.JSON中添加和输入“Mark Jones”,并且不会有冲突。然而,有人提出,能够根据某些标准(最好的讲师、认证评估师等)筛选员工将是一件好事,这是正确的。如果没有一个JSON文件,我就看不出如何做到这一点

我们希望将所有员工放在一个JSON文件中,并能够使用AngularJS对其进行过滤。这就引出了我的问题,我可以在一个键上附加两个值(或者更多)吗?详情如下:


(management.json)

(sales.json)


(employees.json)

我希望能够筛选部门==销售,并让Tom和Steve出现,筛选部门==管理,并让Tom和Bill出现。如果您需要更多信息,或者有更简单的方法,请告诉我,我完全迷路了:)


注意:我们没有访问任何服务器的权限,因此任何依赖服务器的语言对我们来说都是不可能的。

无论您做什么,每个员工都需要一个唯一的整数ID。否则,您迟早会雇佣第二个John Smith,并以艰苦的方式学习唯一标识符。如果您的DB人员在这一点上真的给自己制造了障碍(我从您关于访问服务器的评论中推断出一些组织功能障碍),我不确定该推荐什么。但在这种情况下,下面的选项1可能会更好

选项1:

选项2:

将部门放在第二张“桌子”(比喻性地说);这是101数据库。使用员工ID号指定成员身份。如果根本没有办法为员工建立适当的唯一标识符,这是不可能的

"departments": [
    {
        "name": "sales",
        "members": [ 2, 12, 13 ]
    },
]

我根据您的实际需要完善了我的答案:

这表示JSON格式,如:

[{
  "fName": "Tom",
  "lName": "Jones",
  "departments": {
    "sales": null,
    "management": {"joined-date":"2014-06-01T00:00:00", "position":"Senior Manager"},
    "management sales": null
  }
}]
因此,基本上,所有对象节点都是由花括号{“x”:“y”}和方括号[“x”,“y”]中的数组递归添加的


然后在此处验证您的JSON:。

“部门”:[“管理”、“销售”]
?好吧,例如,我们已经有了员工编号,该公司非常乐意确保其唯一性(省去了我的麻烦),我可以将其用作“id”吗号码<代码>[“1534”:{“fName”:“Tom”,“lName”:“Jones”,},“4153”:{“fName”:“Bill”,“lName”:“Hunter”,}]然后我可以用1534.fName来拉“Tom”?@ColtonWilliams听起来很棒。我希望有这样一个现有的身份证。不过,把最外面的方括号做成一个卷曲的括号;方括号是一个规则数组,其中索引是连续的。然后在JS中有
employees[“1534”].fName
返回
“Tom”
(字符串“1534”,而不是整数1534)。假设父对象名为
employees
。我们今天完成了第一个版本,这是我从概念到完成的第一个项目,我迫不及待地想把它放到下一个版本中。这将使代码更易于维护,并为用户添加一些很棒的功能,感谢所有的帮助@我很乐意为您效劳。祝你好运
[{
    "fName": "Tom",
    "lName": "Jones",
    "bobAward": "false",
    "department": "management sales"
}, {
    "fName": "Bill",
    "lName": "Hunter",
    "bobAward": "true",
    "department": "management"
}, {
    "fName": "Steve",
    "lName": "Webb",
    "bobAward": "true",
    "department": "sales"
}]
"department": ["sales", "management"],
"departments": [
    {
        "name": "sales",
        "members": [ 2, 12, 13 ]
    },
]
[{
  "fName": "Tom",
  "lName": "Jones",
  "departments": {
    "sales": null,
    "management": {"joined-date":"2014-06-01T00:00:00", "position":"Senior Manager"},
    "management sales": null
  }
}]