Создание массива JSON?

0

Я пытаюсь создать массив JSON с использованием PHP. Но я хочу, чтобы этот 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);

//output: [{"id": "1", "cidade": "Guaira"}, {"id": "1", "cidade": "Barretos"}]}

?>
  • 0
    изменить $ result с $ result ["cidades"] []
Теги:

2 ответа

1
Лучший ответ

Попробуй это:

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

Этот код создает JSON-форматированные данные с прикрепленным к нему ключом под именем "cidades", поэтому cidades:[{"id":"1", "nome":"Guaira"}] нечто вроде cidades:[{"id":"1", "nome":"Guaira"}]. Для ясности проверьте это.

  • 0
    Почему ОП "попробовать это"? Пожалуйста, объясните ОП (и будущим посетителям SO), почему вы сделали то, что сделали.
  • 1
    Код прост ... он генерирует данные в формате Json с прикрепленным к нему ключом с именем "cidades", так что создается нечто вроде cidades: [{"id": "1", "nome": "Guaira"}] , Для наглядности проверьте androidhive.info/2012/05/how-to-connect-android-with-php-mysql
Показать ещё 3 комментария
2

Создайте массив верхнего уровня с ключевыми 'cidades' и поместите свои данные в:

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню