我想从 PHP 生成Json
并产生如下所示的结果
series: [{
name: "Brands",
colorByPoint: true,
data: [{
name: "Microsoft Internet Explorer",
y: 56.33,
drilldown: "Microsoft Internet Explorer"
}, {
name: "Chrome",
y: 24.03,
drilldown: "Chrome"
}, {
name: "Firefox",
y: 10.38,
drilldown: "Firefox"
}, {
name: "Safari",
y: 4.77,
drilldown: "Safari"
}, {
name: "Opera",
y: 0.91,
drilldown: "Opera"
}, {
name: "Proprietary or Undetectable",
y: 0.2,
drilldown: null
}]
}]
如何创建这样的结果结构?
创建一个包含对象数组的变量,然后这些变量包含一些属性,这些属性将生成您想要的name:"Brands"
和colorByPoint: true
。除了这些属性之外,该对象还包含另一个对象数组。数组中的那些对象将包含name: "Safari"
、y: 4.77
等属性。然后使用encode_json($CreatedVariable)
方法生成所需的 JSON。
使用 json_encode();功能这会对你有所帮助。像这样使用
echo json_encode(array('series'=>$array));
一旦你有了PHP数据,你就可以使用json_encode函数了。PHP json_encode() 函数用于在 PHP 中编码 JSON。此函数在成功时返回值的 JSON 表示形式,在失败时返回 FALSE。
下面是说明如何使用json_encode
函数的示例
$catId = $_GET['catId'];
$catId = $_POST['catId'];
$conn = mysqli_connect("localhost","root","password","DBName");
if(!$conn)
{
trigger_error('Could not Connect' .mysqli_connect_error());
}
$sql = "SELECT * FROM TableName";
$result = mysqli_query($conn, $sql);
$array = array();
while($row=mysqli_fetch_assoc($result))
{
$array[] = $row;
}
echo'{"ProductsData":'.json_encode($array).'}'; //Here ProductsData is just a simple String u can write anything instead
mysqli_close('$conn');
您可以使用mysqli_fetch_array()
函数使用 while 循环从 mysql 数据库中检索值作为数组并json_encode()
结果数组。例:
while($row = mysqli_fetch_array($result)) {
$result[] = $row;
}
echo json_encode($result);