创建JSON数组?

时间:2015-02-18 13:16:53

标签: php json

我正在尝试使用PHP创建一个JSON数组。但我希望这个JSON收到这样的主密钥:cidades:[{"id":"1", "nome":"Guaira"}],当我尝试创建它的唯一创建[{"id":"1","cidade":"Guaira"}]时。

我该怎么做?

<?php
include '../objetos/Cidade.php';
include '../dao/CidadeDAO.php';

if($_GET['action'] == 'getCidades'){
    $idEstado = $_GET['idEstado'];  

    $dao = new CidadeDAO();
    $lista = $dao->getCidadeByEstado($idEstado);


    $arr = array();
    foreach ($lista as $object){
        $result = array("id" => $object['id'], "cidade" => $object['cidade']);
        array_push($arr, $result);
    }   

    echo json_encode($arr);

//输出:[{&#34; id&#34;:&#34; 1&#34;,&#34; cidade&#34;:&#34; Guaira&#34;},{&#34 ; ID&#34;:&#34; 1&#34;&#34; CIDADE&#34;:&#34;巴雷图斯&#34;}]     }

?>

2 个答案:

答案 0 :(得分:2)

使用键'cidades'创建顶级数组,并将数据放入:

$arr = array('cidades' => array());
foreach ($lista as $object){
    $result = array("id" => $object['id'], "cidade" => $object['cidade']);
    array_push($arr['cidades'], $result);
}   

答案 1 :(得分:1)

试试这个:

$arr["cidades"] = array();
array_push($arr["cidades"], $result);

此代码生成一个JSON格式的数据,并附加一个名为“cidades”的键,以便生成cidades:[{"id":"1", "nome":"Guaira"}]之类的内容。为清楚起见,请查看this