如何在 JSON 中整齐地表示具有 2 个值的对象数组?



我有这样的JSON格式的数据:

"members": [
"admin@test.com",
"user@test.com",
"guest_test.com@##internalservicedomain.test.com##"
]

我想添加角色,以便:

admin is administrator
user  is member
guest is guest

存储它的最佳方法是什么?

我可以这样做:

"members": [
{name: "admin@test.com", role: "administrator"},
{name: "user@test.com",  role: "member"},
{name: "guest_test.com@##internalservicedomain.test.com##", role: "guest"}
]

或者像这样:

"members": [
"administrators": ["admin@test.com"],
"users": ["user@test.com"],
"guests: ["guest_test.com@##internalservicedomain.test.com##"]
]

但我不喜欢这些解决方案,有没有更简洁的方式来表示它?我更喜欢第一个选项,因为这样我就可以更轻松地迭代元素,但开销很糟糕,第二个选项看起来更好,但迭代起来似乎很复杂。

在我看来这是更正确的选择

"members": [
{name: "admin@test.com", role: "administrator"},
{name: "user@test.com",  role: "member"},
{name: "guest_test.com@##internalservicedomain.test.com##", role: "guest"}
]

这样,您不仅可以更好地迭代,而且如果将来添加新角色,它将更容易适应。

最终,您可以将角色"A"表示管理员,"M"表示成员等,以削减一些kbs...

最新更新