我在PHP中构建了一个复杂的JSON数组结果,方法是在数据库中执行多个查询,然后将数据推送到数组中,最后使用JSON_NUMERIC_CHECK对其进行json_encode。我把所有的数字数组都弄干净了,没有引号。问题是名称/值对的集合
"{y: 39,ratio: 150}",...,"{y: 40,ratio: 364}"
具有外部引号,这在高图表中是不可接受的。以下是 PHP 代码的片段:
$series = array();
$series['name'] = 'Trend';
while($row = mysql_fetch_array($result)){
$series['data'][] = 'y: ' . $row['A'] . ',ratio: ' . round($row['A'] / $row['B'] * 100, 0) . '}';
}
$result = array();
array_push($result,$series);
print json_encode($result, JSON_NUMERIC_CHECK);
array_push($result,$category);
如何摆脱引号并查看以下内容:
{y: 39,ratio: 150},...,{y: 40,ratio: 364}
删除此行:
$series['data'][] = 'y: ' . $row['A'] . ',ratio: ' . round($row['A'] / $row['B'] * 100, 0) . '}';
将上面的代码替换为以下内容:
$series['data'][] = array("y" => $row['A'],
"ratio" => round($row['A'] / $row['B'] * 100, 0));
你的意思是这样的吗
while($row = mysql_fetch_array($result)) {
$series['data'][] = (object)array(
'y' => $row['A'],
'ratio' => round($row['A'] / $row['B'] * 100, 0)
);
}
然后,您可以
print json_encode($series);