0

オートコンプリート プラグインの場合、次のような JSON 構造を生成する必要があります。

{"タグ":[{"タグ":"ピサ"},{"タグ":"ローマ"},{"タグ":"ミラノ"},{"タグ":"フィレンツェ"},{"タグ" :"ニューヨーク"},{"タグ":"パリ"},{"タグ":"ベルリン"},{"タグ":"ロンドン"},{"タグ":"マドリード"}]}

次のPHPコードで試しました:

$tags = array();
while (($row = $statement -> fetch(PDO::FETCH_ASSOC)) !== false) {
    $tags[] = array('tag' => $row['text']);
}
echo json_encode($tags);

しかし、それは生成するだけです

[{"tag":"ピサ"},{"tag":"ローマ"},{"tag":"ミラノ"},{"tag":"フィレンツェ"},{"tag":"ニューヨーク" },{"tag":"パリ"},{"tag":"ベルリン"},{"tag":"ロンドン"},{"tag":"マドリード"}]

ラッピングの「タグ」がありません - どうすればそれを適切に達成できますか?

ありがとう!

4

2 に答える 2

3
$tags = array();
while (($row = $statement -> fetch(PDO::FETCH_ASSOC)) !== false) {
    $tags[] = array('tag' => $row['text']);
}
echo json_encode(array('tags'=> $tags));

キー「tags」を使用して、タグ配列を他の配列に設定する必要があります..

于 2013-04-07T10:46:29.580 に答える
2
return json_encode(array('tags' => $statement->fetchAll()));

select text as tag(もちろん、クエリで必要でありPDO::FETCH_ASSOC、デフォルトのフェッチオプションとして設定して、コードを意味のあるDRYにする必要があります)

于 2013-04-07T10:52:36.647 に答える