我有以下问题:
我打电话给休息api。它返回带有数据的json。现在我需要客户端处理这些数据并用它做一些事情(这并不重要)。
我可以将json解码为对象,也可以解码为关联数组。是否有任何好的做法说我应该采用这种或那种方式(背后有充分的理由)?
我个人倾向于对象,但在某些情况下,这可能不是最佳选择(例如,当在json中编码数字索引数组时,它将被解码为对象内的数组,所以我是最终得到两种类型的数据 - 这不是一个大问题,但有点不方便。)
答案 0 :(得分:1)
JSON / Javascript ECMAScript清楚地描述对象和数组(正如许多其他语言一样,它们称之为列表和词典,或哈希, 管他呢)。对象是无序的键值对,而数组是按数字编制索引的容器。
PHP在其数组中没有区别,PHP的数组是有序的键值对,也允许数字键。但PHP 也碰巧有对象的概念。 json_decode
只是为您提供了映射这些不明确数据类型的方式。这完全取决于你。
使用stdClass
对象可以做很多事情,而数组是非常灵活的数据结构,具有大量的操作函数。带你去挑选。这在很大程度上并不重要。