json - 轴 #0 的数据列不能是谷歌图表中的字符串错误类型

标签 json google-visualization

我尝试使用 PHP 在服务器端填充谷歌图表数据表。我正确地获得了 JSON 文件,但图表未显示在客户端应用程序中。我遇到错误- 轴 #0 的数据列不能是字符串类型 .我的代码在下面。

从数据库中获取数据后,

$colarray=array(array("id"=>"","label"=>"userid","pattern"=>"","type"=>"number"),array("id"=>"","label"=>"name","pattern"=>"","type"=>"string"));

  $final=array();
    for($i=0;$i<$rows;$i++) 
    {
     $id[$i]=pg_fetch_result($res1,$i,'id');
     $name[$i]=pg_fetch_result($res1,$i,'name');
     $prefinal[$i]=array("c"=>array(array("v"=>$name[$i]),array("v"=>$name[$i])));
     array_push($final,$prefinal[$i]);
    }


    $table['cols']=$colarray;
    $table['rows']=$final;
    echo json_encode($table);

我的输出 Json:
{
  "cols":[
    {"id":"","label":"userid","pattern":"","type":"number"},
    {"id":"","label":"name","pattern":"","type":"string"}
   ],
  "rows":[
    {"c":[{"v":"101"},{"v":"Aircel"}]},
    {"c":[{"v":"102"},{"v":"Srini"}]},
    {"c":[{"v":"103"},{"v":"Tamil"}]},
    {"c":[{"v":"104"},{"v":"Thiyagu"}]},
    {"c":[{"v":"105"},{"v":"Vasan"}]},
    {"c":[{"v":"107"},{"v":"Senthil"}]},
    {"c":[{"v":"108"},{"v":"Sri"}]},
    {"c":[{"v":"109"},{"v":"Docomo"}]},
    {"c":[{"v":"106"},{"v":"Innodea"}]}
    ]
}

如何解决这个问题?

最佳答案

要扩展@sajal 的准确答案:将代码的最后一行更改为:

echo json_encode($table);

到:
echo json_encode($table, JSON_NUMERIC_CHECK);

这将告诉 json_encode 识别数字并避免将它们用引号括起来(自 PHP 5.3.3 起可用。)。
http://php.net/manual/en/json.constants.php#constant.json-numeric-check

关于json - 轴 #0 的数据列不能是谷歌图表中的字符串错误类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9195025/

相关文章:

javascript - 如何使用 Javascript 将 JSON 格式转换为另一种格式?

json - Grails-将UUID渲染为JSON

javascript - 如何使用 jQuery.getJSON 从本地主机上的 API 获取 JSON 数据

javascript - Google 图表和 HTA : script error https://www. gstatic.com/charts/loader.js

php - 谷歌地理图表上的自定义标签

javascript - 无法在 haxis 上显示刻度

javascript - Google 自定义搜索热门查询出现错误

arrays - Golang 将字符串打印为字节数组

javascript - 将 PHP 数组回显到 Javascript

javascript - 谷歌可视化图表区域背景