这是我需要的一个例子。我需要在json结果的开头添加results
键
JSON
{
"results": [ <-- this is what I need
{
"id": 1,
"text": "Option 1"
},
{
"id": 2,
"text": "Option 2"
}
]
}
PHP
我正在用php创建我的json结果
$sql = "SELECT * FROM table";
$result = $GLOBALS['db']->query($sql);
$i = 0;
while ($row = $result->fetch_array()) {
$response[$i]['id'] = $row['id'];
$response[$i]['text'] = $row['text'];
$data['posts'][$i] = $response[$i];
$i++;
}
if ($result->num_rows == 0) {
echo '[]';
} else {
echo json_encode($data['posts']);
}
哪个生产
[
{
"id": 1,
"text": "Option 1"
},
{
"id": 2,
"text": "Option 2"
}
]
如何将results
键添加到JSON中?
答案 0 :(得分:3)
只需用额外级别的数组索引(例如结果)包装echo json_encode($data['posts']);
行即可。让我们这样做吧-
echo json_encode(['results'=>$data['posts']]);
答案 1 :(得分:0)
使用键json_encode
上的键
$result = array('result'=>$data['posts']);
echo json_encode($result);
答案 2 :(得分:0)
您还可以在循环中以这种方式构建数组:
$data['posts']['results'][$i] = $response[$i];
但是要缩短整个过程,只需选择所需的内容即可
$sql = "SELECT `id`, `text` FROM `table`";
$result = $GLOBALS['db']->query($sql);
while($data['results'][] = $result->fetch_assoc());
echo json_encode($data);