使用php mysql创建嵌套的json对象
在本文中,我们将介绍如何使用php mysql来创建嵌套的json对象。
阅读更多:MySQL 教程
什么是嵌套的json对象?
嵌套的json对象是指在一个json对象中包含另一个json对象。例如下面这个例子:
{
"Name": "John",
"Age": 30,
"Address": {
"Street": "123 Main St",
"City": "Anytown",
"State": "CA",
"Zip": "12345"
}
}
在上面的例子中,Address是一个嵌套的json对象。
创建嵌套的json对象
下面是一个使用php mysql来创建嵌套的json对象的例子。假设我们有以下员工表:
CREATE TABLE `employee` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL,
`age` int(11) NOT NULL,
`address` varchar(200) NOT NULL,
`city` varchar(50) NOT NULL,
`state` varchar(50) NOT NULL,
`zip` varchar(10) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
我们可以使用以下代码创建一个嵌套的json对象:
<?php
servername = "localhost";username = "username";
password = "password";dbname = "myDB";
// 创建连接
conn = new mysqli(servername, username,password, dbname);
// 检查连接
if (conn->connect_error) {
die("Connection failed: " . conn->connect_error);
}
// 查询数据sql = "SELECT id, name, age, address, city, state, zip FROM employee";
result =conn->query(sql);
// 创建嵌套的json对象jsonObj = array();
while(row =result->fetch_assoc()) {
address = array(
"Street" =>row["address"],
"City" => row["city"],
"State" =>row["state"],
"Zip" => row["zip"]
);employee = array(
"Name" => row["name"],
"Age" =>row["age"],
"Address" => address
);
array_push(jsonObj, employee);
}
// 输出json对象
echo json_encode(jsonObj);
// 关闭连接
$conn->close();
?>
在上面的代码中,我们首先查询了employee表中的所有数据,并将每个员工的地址数据存储到一个单独的数组中。然后我们创建了一个包含所有员工数据和嵌套地址数据的json对象。最后,我们使用json_encode函数将json对象转换为json字符串,并将其输出。
总结
本文介绍了如何使用php mysql来创建嵌套的json对象。通过将嵌套的数据存储在单独的数组中,并使用array_push函数将其添加到json对象中,我们可以轻松地创建复杂的嵌套json对象。
极客教程