首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用PHP的对象JSON响应

使用PHP的对象JSON响应
EN

Stack Overflow用户
提问于 2014-09-06 21:02:00
回答 1查看 43关注 0票数 0

我正在尝试使用PHP生成一个JSON响应,应该如下所示:

代码语言:javascript
复制
Records={{"country":"United States","fixed":0.20,"cellular":0.35}, {"country":"Canada","fixed":0.30,"cellular":0.45}}

但是当我运行代码时,我得到的是:

代码语言:javascript
复制
Records={"0": {"country":"United States","fixed":0.20,"cellular":0.35}, "1":{"country":"Canada","fixed":0.30,"cellular":0.45}}

这是我的PHP代码:

代码语言:javascript
复制
$arr_o = array();

array_push($arr_o, array("country" => "United States", "fixed" => 0.20, "cellular" => 0.35));
array_push($arr_o, array("country" => "Canada", "fixed" => 0.30, "cellular" => 0.45));

return json_encode((object)$arr_o);
EN

回答 1

Stack Overflow用户

发布于 2014-09-06 21:56:08

array_push方法将第二个参数(已填充的"JSON“数组)作为该数组的元素添加到现有的空数组中。

例如:

代码语言:javascript
复制
$a = array();
array_push($a, 1);
print_r($a)

收益率:

代码语言:javascript
复制
Array
(
   [0] => 1
)

如果您的参数本身是一个数组,那么它将被附加为一个元素:

代码语言:javascript
复制
$b = array();
array_push($b, 1);
array_push($b, array(2, 3));
print_r($b);

收益率:

代码语言:javascript
复制
Array
(
    [0] => 1
    [1] => Array
        (
            [0] => 2
            [1] => 3
        )

)

如果要将一个数组的元素追加到现有数组的末尾,一种解决方案是使用array_merge方法,例如:

代码语言:javascript
复制
$c = array(1);
$c = array_merge($c, array((2, 3, 4));
print_r($c);

收益率:

代码语言:javascript
复制
Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
)

有关array_merge的更多信息,请参阅以下PHP文档:http://php.net/manual/en/function.array-merge.php

正如其他人已经注意到的,"{}“也应该转换为"[]”,以使输出成为有效的JSON。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25700550

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档