最佳实践 - 在客户端解码为数组或对象的REST API响应

时间:2015-07-17 10:14:16

标签: php json rest

我有以下问题:

我打电话给休息api。它返回带有数据的json。现在我需要客户端处理这些数据并用它做一些事情(这并不重要)。

我可以将json解码为对象,也可以解码为关联数组。是否有任何好的做法说我应该采用这种或那种方式(背后有充分的理由)?

我个人倾向于对象,但在某些情况下,这可能不是最佳选择(例如,当在json中编码数字索引数组时,它将被解码为对象内的数组,所以我是最终得到两种类型的数据 - 这不是一个大问题,但有点不方便。)

1 个答案:

答案 0 :(得分:1)

JSON / Javascript ECMAScript清楚地描述对象数组(正如许多其他语言一样,它们称之为列表和词典,或哈希, 管他呢)。对象是无序的键值对,而数组是按数字编制索引的容器。

PHP在其数组中没有区别,PHP的数组是有序的键值对,也允许数字键。但PHP 碰巧有对象的概念。 json_decode只是为您提供了映射这些不明确数据类型的方式。这完全取决于你。

使用stdClass对象可以做很多事情,而数组是非常灵活的数据结构,具有大量的操作函数。带你去挑选。这在很大程度上并不重要。