PHP:为一个JSON对象数组命名


PHP: Give a name to an array of JSON objects?

我已经设法从PHP文件中的数据库中获取数据。从那里(data.php),

$output = json_encode($result);

结果是这样的,

$output=[{"kitty":"Whitely"},{"kitty":"Tabby"},{"kitty":"Ruby"},{"kitty":"Silver"}]

那个么,我该如何给"小猫"这个名字一个php格式的kitty对象数组呢?

例如

"kitten":[{"kitty":"Whitely"},{"kitty":"Tabby"},{"kitty":"Ruby"},{"kitty":"Silver"}]

您必须将结果封装在'kitte'键上的另一个数组中:

$output = json_encode(['kitten' => $result]);

试试这个:

<?php
$kitty = array('kitten' => array());
$kitty['kitty'][] = array('kitty' => 'Tabby');
$kitty['kitty'][] = array('kitty' => 'Ruby');
$kitty['kitty'][] = array('kitty' => 'Silver');
var_dump($kitty);
var_dump(json_encode($kitty));

这导致:{"kitty":[{"kitty":"Tabby"},{"kitty":"Ruby"},{"kitty":"Silver"}]}

 $result =array('kitten'=> $output);

输出

{
"kitten":[
          {"kitty":"Whitely"},
          {"kitty":"Tabby"},
          {"kitty":"Ruby"},
          {"kitty":"Silver"}
        ]
}

使用嵌套的encodedecode

$json = '[{"kitty":"Whitely"},{"kitty":"Tabby"},{"kitty":"Ruby"},{"kitty":"Silver"}]';
echo json_encode(array('kitten' => json_decode($json)));

尝试使用此

$output['kitty'][] = json_encode($result);