我正在尝试从通过PHP组织的数据生成JSON,我想确保我以一种有意义的方式构建它作为JSON。在PHP中处理这样的数据比JSON更频繁,我想我可能会过度使用PHP关联数组/ JSON对象和我希望按顺序填充表单选择框的数据。
数据涉及每个都有关联日期数组的项目;每个日期都有一个时间阵列,每次都有一个位置和URL,可能对该日期时间组合是唯一的。现在,我正在使用日期和时间作为JSON对象中的键,这似乎很难用JS操作,并且可能存在保持数据有序的问题。 JSON目前如下所示:
{
"1":{
"name":"Item 1",
"dates":{
"July 21, 2015":{
"4:30PM":{
"location":"Place 1",
"url":"example.com/item1-timed-430"
}
},
"July 22, 2015":{
"9:30AM":{
"location":"Earth Hall",
"url":"example.com/item1-timed-930"
}
},
"July 23, 2015":{
"9:30AM":{
"location":"Earth Hall",
"url":"example.com/item1-timed-930"
}
}
},
"base_url":"example.com/base-item1"
},
"2":{
"name":"Item 2",
"dates":{
"July 21, 2015":{
"9:30AM":{
"location":"Place 3",
"url":"example.com/item2-timed-930"
},
"12:30PM":{
"location":"Place 3",
"url":"example.com/item2-timed-1230"
}
},
"July 22, 2015":{
"4:30PM":{
"location":"Place 1",
"url":"example.com/item2-timed-430"
}
}
},
"base_url":"example.com/base-item2"
}
}
原始问题: 首先 - 如果需要按时间顺序保存,是否应重构使用JSON列表(和PHP非关联数组)?它似乎目前保留,但我意识到浏览器可能会有所不同。
第二 - 我应该如何重构?向每个项目添加日期列表,时间列表,并使用当前dates
对象作为与唯一位置和URL数据相关联的时间的日期地图?有没有更简单的方法呢?
编辑问题以指定编码问题: 我可以期望跨浏览器保留时间顺序吗?如果没有,我应该在数据结构中更改什么,以确保我可以访问日期和时间的有序列表,以及特定的日期时间URL和位置数据?
答案 0 :(得分:0)
这是一个自以为是的问题......
但是,JSON的格式在很大程度上取决于将要使用它的应用程序。如果它更容易处理关联数组,并且循环它们不是一个问题,那么就去做吧。理想情况下,您的数据应该采用对开发人员和应用程序有意义的层次结构。