Jquery JSON:有可能有一个具有多个值的键吗?
为了安全起见,我喜欢给出很多细节,如果你不需要背景故事,请随意跳过问题 我正在开发一个触摸屏目录,可以显示我中心的所有员工。当我们开始为目录构建JSON文件时,目录被分解为多个部门(管理、销售、标准等),我们将它们按部门分解,因此我们有一个Management.JSON文件,Sales.JSON等等。我们即将完成目录的1.0版本并部署它,但是,现在我们已经构建了所有JSON文件,我们看到有一个小问题。很多员工都属于不止一个类别,当我们将所有JSON文件分开时,这不是一个大问题,因为我们可以在sales.JSON和management.JSON中添加和输入“Mark Jones”,并且不会有冲突。然而,有人提出,能够根据某些标准(最好的讲师、认证评估师等)筛选员工将是一件好事,这是正确的。如果没有一个JSON文件,我就看不出如何做到这一点 我们希望将所有员工放在一个JSON文件中,并能够使用AngularJS对其进行过滤。这就引出了我的问题,我可以在一个键上附加两个值(或者更多)吗?详情如下:Jquery JSON:有可能有一个具有多个值的键吗?,jquery,arrays,angularjs,json,filter,Jquery,Arrays,Angularjs,Json,Filter,为了安全起见,我喜欢给出很多细节,如果你不需要背景故事,请随意跳过问题 我正在开发一个触摸屏目录,可以显示我中心的所有员工。当我们开始为目录构建JSON文件时,目录被分解为多个部门(管理、销售、标准等),我们将它们按部门分解,因此我们有一个Management.JSON文件,Sales.JSON等等。我们即将完成目录的1.0版本并部署它,但是,现在我们已经构建了所有JSON文件,我们看到有一个小问题。很多员工都属于不止一个类别,当我们将所有JSON文件分开时,这不是一个大问题,因为我们可以在s
(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
}
}]