PHP json_encode将行作为对象而不是数组返回[重复]
Posted
技术标签:
【中文标题】PHP json_encode将行作为对象而不是数组返回[重复]【英文标题】:PHP json_encode return rows as objects instead of arrays [duplicate] 【发布时间】:2013-09-11 07:04:36 【问题描述】:我正在使用 json_encode() 将数组编码为 json 格式。但它返回对象而不是数组。我想返回一个数组而不是一个对象。 有人知道吗?
【问题讨论】:
数组长什么样子? 请查看***.com/questions/11195692/… 【参考方案1】:您应该使用json_decode
和TRUE
参数,如下例所示:
$array = array(1,2,3);
$encode = json_encode($array);
$decode = json_decode($encode, TRUE);
现在$decode
是array
,而不是对象。
【讨论】:
我要求的是 json_encode 而不是 json_decode。当我们使用来自 javascript 的 JSON 数据时。【参考方案2】:实际上 json_encode 函数在 php 中会返回一个 json 格式的字符串。
如果你想在 php 中解析 json 格式的字符串 那么你应该使用 json_decode。
json_decode 函数会返回两种类型的数据。 对象和关联数组。
json_decode();返回类型对象
json_decode(, TRUE);返回类型关联数组
【讨论】:
【参考方案3】:使用此代码解码您的编码 json 数据
$encode = $your_json_encoded_data
json_decode($encode, TRUE);
【讨论】:
【参考方案4】:基本上 json_decode() 会返回两种类型的数据。
1) Object
2) Associative array
默认情况下,json_decode() 返回对象类型值。
但是,如果您希望 value 作为数组格式,则必须在 json_decode() 中使用 TRUE
作为第二个参数。
例如,
$decoded_value = json_decode($json_encoded_value, TRUE);
【讨论】:
以上是关于PHP json_encode将行作为对象而不是数组返回[重复]的主要内容,如果未能解决你的问题,请参考以下文章
json_encode PHP 数组作为 JSON 数组而不是 JSON 对象