JSON输出到浏览器 - >提供订单

时间:2012-12-10 05:03:22

标签: json api

所以我读过你在请求json时不能指望默认顺序。我已经看到这个动作调用我构建的一个小api,每次我打一个不同的电话时,它会返回一个混乱,随机的元素顺序。

像ticketfly的api这样的网站(在这里称之为http://www.ticketfly.com/api/events/upcoming.json?venueId=57)如何始终确保返回的json按特定顺序?

事件ID总是先等,

感谢您了解情况。

1 个答案:

答案 0 :(得分:1)

如果您控制端点API,则可以硬编码呈现属性的顺序。虽然我不得不问为什么你需要特定顺序的JSON属性?您最终将通过属性名称访问属性,因此它们在JSON中出现的顺序不应该理想。

编辑:既然你的老板坚持这个(现在可以说什么呢?):

您可以尝试查看以下任何一项是否符合您的需求:

  1. 尝试在视图的表示中对显示顺序进行硬编码。这意味着您需要在视图脚本中显式回显/打印每个属性名称。在PHP中,它可能类似于echo $variable_representing_json["id"];等等。请注意,使用此方法,您无需更改原始JSON表示。
  2. 如果您希望更改原始JSON表示,那么根据您执行该过程的方式,它会因难度而异:
    • 如果它是用于表示json的字符串连接,则硬编码json属性在字符串中连接的顺序。
    • 在某些语言中,属性的显示顺序实际上是定义属性的顺序的表示。简单来说,如果$var是一个空的json表示,那么你应该首先定义$var["id"] = {some_val}以显示它。
    • 如果您使用框架处理JSON数据,它可能有自己的怪癖,无论您如何定义表示。在这种情况下,您将不得不尝试查看是否可以解决该问题,或者是否提供任何辅助方法。