query($sql); $ro-6ren">
gpt4 book ai didi

php - 如何使用 PHP 将 MySQL 表转换为 JSON?

转载 作者:太空宇宙 更新时间:2023-11-03 10:53:23 24 4
gpt4 key购买 nike

如何转换:

MySQL table

使用 PHP 转换为有效的 JSON 文件?

我试过:

$sql="SELECT ... more code here";

$result = $pdo->query($sql);
$rows = $result->fetchAll(PDO::FETCH_ASSOC);

$real= implode(",",array_map(function($a) { return $a["real"]; }, $rows));
$orcamento = implode(",",array_map(function($a) { return $a["orcamento"]; }, $rows));
$desvio = implode(",",array_map(function($a) { return $a["desvio"]; }, $rows));


echo "{'name': 'orcamento', 'data': [$orcamento]},
{'name': 'real', 'data': [$real]},
{'name': 'desvio', 'data': [$desvio]}";

返回:

{'name': 'orcamento', 'data': [14000.00,8500.00,0.00]},
{'name': 'real', 'data': [2038.00,120.00,15000.00]},
{'name': 'desvio', 'data': [-11962.00,-8380.00,15000.00]}

根据 JSONLint,这是无效的(我认为我的其余代码无法正常工作的原因。我得到:

Parse error on line 1:
{ 'name': 'orcamento',
-----^
Expecting 'STRING', '}'

所以我的问题是:如何修复我的 PHP 代码以获得有效的 JSON?

编辑:我也试过:

$sql="SELECT ....";

$result = $pdo->query($sql);
$rows = $result->fetchAll(PDO::FETCH_ASSOC);

$registos= json_encode($rows);

echo $registos;

这会返回一个有效的 JSON,但格式错误:

[
{
"real": "2038.00",
"orcamento": "14000.00",
"desvio": "-11962.00"
},
{
"real": "120.00",
"orcamento": "8500.00",
"desvio": "-8380.00"
},
{
"real": "15000.00",
"orcamento": "0.00",
"desvio": "15000.00"
}
]

最佳答案

为了安全起见,像这样使用json_encode:

$real = array_map(function($a) { return $a["real"]; }, $rows);
$orcamento = array_map(function($a) { return $a["orcamento"]; }, $rows);
$desvio = array_map(function($a) { return $a["desvio"]; }, $rows);

echo json_encode(array(
array('name' => 'orcamento', 'data' => $orcamento),
array('name' => 'real', 'data' => $real),
array('name' => 'desvio', 'data' => $desvio)
));

(但本质上在您的原始输出中缺少包围对象的 [] 并且您需要使用双引号 "用于引用键和字符串)

关于php - 如何使用 PHP 将 MySQL 表转换为 JSON?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22700048/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com