处理PHP代码和JSON中的引号

处理PHP代码和JSON中的引号,php,json,highcharts,Php,Json,Highcharts,我在PHP中构建了一个复杂的JSON数组结果,方法是在数据库中执行多个查询,然后将数据推送到数组中,最后使用JSON\u NUMERIC\u CHECK对其进行JSON编码。我将所有的数字数组清理干净,没有引号。问题是名称/值对的集合 "{y: 39,ratio: 150}",...,"{y: 40,ratio: 364}" 具有在图表中不可接受的外部引号。下面是一段PHP代码: $series = array(); $series['name'] = 'Trend'; while($row

我在PHP中构建了一个复杂的JSON数组结果,方法是在数据库中执行多个查询,然后将数据推送到数组中,最后使用JSON\u NUMERIC\u CHECK对其进行JSON编码。我将所有的数字数组清理干净,没有引号。问题是名称/值对的集合

"{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}

你是说像这样的事吗

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);
删除此行:

$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));

我在这里需要帮助。我简化了这个问题,并使它变得非常模糊(整个代码都很复杂),所以得到答案并不是那么简单。在任何情况下,如果我进行打印json_编码($series),不进行json_数字检查,那么其他纯数字数组都会引用它们。因此,JSON_NUMERIC_检查纯数字数组的帮助,但是名称/值对数组的两侧都有引号。我会尝试一下,让您知道。谢谢谢谢你,先生!它确实解决了这个问题。我很感激你的帮助。我必须用帮助来找出如何接受它。再次感谢!