我不知道php和JSON,我想要下面的结果
如何在json上添加数组employeelist
{
"employeeList": [
{
"name": "Gretchen Rodriquez",
"email": "gretchenrodriquez@trasola.com"
},
{
"name": "Sharon Harris",
"email": "sharonharris@trasola.com"
},
{
"name": "Serrano Haynes",
"email": "serranohaynes@trasola.com"
}
]
}
我的php代码
$sql="SELECT * FROM tbl_retro_example";
$result=mysqli_query($conn, $sql);
$response=array();
while($row=mysqli_fetch_array($result))
{
array_push($response,array("name"=>$row["name"],"email"=>$row["email"]));
}
echo json_encode($response,JSON_FORCE_OBJECT);
我得到如下响应
{
"0": {
"name": "jugl",
"email": "jual@gmail.com"
},
"1": {
"name": "gond",
"email": "gond@gmail.com"
},
"2": {
"name": "kaik",
"email": "kaik@gmail.com"
}
}
我如何获得正确的结果?
答案 0 :(得分:1)
我认为您离您需要的地方不太远。
如果您希望在employeeList
键下显示结果,则可以更改将结果压入数组的方式。另外,使用json_enconde
时,您可以告诉PHP您要转换的数组。为此,我将转换您的
array_push($response,array("name"=>$row["name"],"email"=>$row["email"]));
进入
$response['employeeList'][] = ["name"=>$row["name"],"email"=>$row["email"]];
而且,您在哪里:
json_encode($response,JSON_FORCE_OBJECT)
你可以做
json_encode($response);
为了获得更好的输出结果来检查新的json
,我将使用print_r
而不是echo
试试看,让我知道如何找到它:)
注意::我一直在最新的PHP版本下工作,因此我倾向于大量使用[]
来声明我的数组。我注意到您在代码示例中使用了array()
,所以不确定是否使用的是旧版PHP。如果是这种情况,并且您的版本尚未识别[]
,请随时将其替换为数组声明!