这是一个从XML字符串中采用的有效JSON数组,但我不确定它是否是最佳结构。它表示具有层次结构的员工计划 schedule-> employees-> employee> tasks-> task任务应该是员工下面的层次结构吗?我在正确的位置使用[]方括号吗?
{
"schedule": {
"employees": [
{
"employee": "1000",
"tasks": [
{
"task1": {
"site":"McDo",
"from":"0900",
"to":"1000"
}
},
{
"task2": {
"site":"McDo",
"from":"0900",
"to":"1000"
}
}
]
},
{
"employee": "2000",
"tasks": [
{
"task3": {
"site":"HJ",
"from":"0900",
"to":"1000"
}
},
{
"task4": {
"site":"KFC",
"from":"0900",
"to":"1000"
}
}
]
}
]
}
}
要求:
答案 0 :(得分:1)
这实际上取决于您的要求。考虑一下:单个员工是否有更多任务,没有多个员工共享任务?在这种情况下,你是对的。
否则,请与我们分享您的要求/用例。
答案 1 :(得分:0)
如果通过“最佳结构化”意味着最小化JSON的大小,那么它取决于子项的顺序是否重要,以及是否打算在每个对象中包含任何其他项类型。
假设订单不重要,并且计划只能包含员工,而员工只能包含任务,那么可以将大部分JSON考虑在内。
例如,可以从结构中的相对深度推断出对象类型,并且可以删除列表以给出...
{
"1000":
{
"task1":
{
"site":"McDo",
"from":"0900",
"to":"1000"
},
{
"task2":
{
"site":"McDo",
"from":"0900",
"to":"1000"
}
},
"2000":
{
"task1":
{
"site":"HJ",
"from":"0900",
"to":"1000"
},
"task2":
{
"site":"KFC",
"from":"0900",
"to":"1000"
}
}
}
...从中可以重建所有原始数据。
我已经假定了任务名称,例如“task1”很重要。