Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/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
PHP关联数组的JSON模式_Php_Json_Associative Array_Jsonschema - Fatal编程技术网

PHP关联数组的JSON模式

PHP关联数组的JSON模式,php,json,associative-array,jsonschema,Php,Json,Associative Array,Jsonschema,我试图从通过PHP组织的数据中生成JSON,我想确保以一种与JSON一样有意义的方式构造它。在PHP中比在JSON中更经常地处理类似的数据之后,我认为我可能过度使用PHP关联数组/JSON对象来处理我希望在填充表单选择框时保持有序的数据 数据涉及的项目每个都有一个关联日期数组;每个日期都有一个时间数组,并且每个时间都有一个位置和URL,该位置和URL对于该日期-时间组合可能是唯一的。现在,我正在使用日期和时间作为JSON对象中的键,这似乎既难以使用JS进行操作,也可能是保持数据有序的问题。JSO

我试图从通过PHP组织的数据中生成JSON,我想确保以一种与JSON一样有意义的方式构造它。在PHP中比在JSON中更经常地处理类似的数据之后,我认为我可能过度使用PHP关联数组/JSON对象来处理我希望在填充表单选择框时保持有序的数据

数据涉及的项目每个都有一个关联日期数组;每个日期都有一个时间数组,并且每个时间都有一个位置和URL,该位置和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非关联数组)?它目前似乎被保留了下来,但我意识到不同的浏览器可能会有所不同

第二,我应该如何重构?向每个项目添加日期列表和时间列表,并使用当前的
日期
对象作为日期到具有唯一位置和URL数据的关联时间的映射?有没有更简单的方法

编辑问题以指定编码问题
我能期望在浏览器之间保留时间顺序吗?如果没有,我应该如何更改数据结构以确保我可以访问日期和时间的有序列表,以及特定的日期时间URL和位置数据?

这是一个自以为是的问题


然而,JSON的格式在很大程度上取决于将要使用它的应用程序。如果处理关联数组更容易,并且循环遍历它们也不是问题,那么就去做吧。理想情况下,您的数据应该以对开发人员和应用程序有意义的层次结构进行结构化。

这是一个自以为是的问题


然而,JSON的格式在很大程度上取决于将要使用它的应用程序。如果处理关联数组更容易,并且循环遍历它们也不是问题,那么就去做吧。理想情况下,您的数据应该以对开发人员和应用程序有意义的层次结构进行结构化。

您尝试过对其进行编码吗?有问题吗?是的,上面的示例代码是PHP数组编码的结果,没有问题,但我想知道JSON最佳实践,以及是否有更好的方法来组织它。“最佳实践”主要是一个意见问题。许多好的问题都会根据专家经验产生一定程度的意见,但对这个问题的回答往往几乎完全基于意见,而不是事实、参考资料或具体的专业知识。我建议你找一个发展论坛(也许?)来概括一下。然后,当/如果您有特定的编码问题,请返回StackOverflow,我们将很乐意提供帮助。您尝试过编码吗?有问题吗?是的,上面的示例代码是PHP数组编码的结果,没有问题,但我想知道JSON最佳实践,以及是否有更好的方法来组织它。“最佳实践”主要是一个意见问题。许多好的问题都会根据专家经验产生一定程度的意见,但对这个问题的回答往往几乎完全基于意见,而不是事实、参考资料或具体的专业知识。我建议你找一个发展论坛(也许?)来概括一下。然后,如果您有特定的编码问题,请返回StackOverflow,我们将很乐意提供帮助。