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_decodeTRUE 参数,如下例所示:

$array = array(1,2,3);
$encode = json_encode($array);

$decode = json_decode($encode, TRUE);

现在$decodearray,而不是对象。

【讨论】:

我要求的是 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 对象

json_encode/json_decode - 在 PHP 中返回 stdClass 而不是 Array

多维数组json_encode之后产生对象而不是数组问题

多维数组json_encode之后产生对象而不是数组问题

多维数组json_encode之后产生对象而不是数组问题

PHP:对象数组 - 序列化与 json_encode - 替代方案?