Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 沙特斯旺';我无法识别数据库返回的JSON_Javascript_Jquery_Json_Chart.js - Fatal编程技术网

Javascript 沙特斯旺';我无法识别数据库返回的JSON

Javascript 沙特斯旺';我无法识别数据库返回的JSON,javascript,jquery,json,chart.js,Javascript,Jquery,Json,Chart.js,我想从数据库中获取信息并绘制图表。 我有以下代码: $.post("ajax.php?param=grp", {grp: grp}, function (rply) { var densityCanvas = document.getElementById("densityChart"); var R = rply; new Chart(densityCanvas, R); }); 变量rply包含

我想从数据库中获取信息并绘制图表。 我有以下代码:

$.post("ajax.php?param=grp", {grp: grp}, function (rply) {

            var densityCanvas = document.getElementById("densityChart");

            var R = rply;
            new Chart(densityCanvas, R);


        });
变量rply包含以下内容:

    {
      type: "bar",
      data: {
        labels: ["pitanje 1", "pitanje 2", "Pitanje 3"],
        datasets: [
    {
        label: "Pozitivni",
        data: [5, 4, 7],
        backgroundColor: "rgba(0, 99, 132, 0.6)",
        borderColor: "rgba(0, 99, 132, 1)"
    }
    ,
    {
        label: "Negativni",
        data: [3,1, 5],
        backgroundColor: "rgba(99, 132, 0, 0.6)",
        borderColor: "rgba(99, 132, 0, 1)"
    }
    ]
    },
  options: {scales: {
        yAxes: [{
            display: true,
            ticks: {
                suggestedMin: 0, 
                beginAtZero: true
            }
        }]
    }}}
除非返回的JSON是硬编码的,“new Chart”不会绘制新图表。若不是硬编码的,浏览器会给出一个错误:“无法在字符串上创建属性“数据…”

如果我这样做:
var R=JSON.parse(rply)


它给了我这个错误:“JSON中位置4处的意外标记t”。

您的
rply
JSON字符串的问题是您需要用
包装密钥,因为
JSON.parse(…)
需要一个有效的JSON格式,它需要双引号

您可以在中看到一个简短的解释

JSON名称需要双引号,JavaScript名称不需要


您可以找到一种方法将字符串转换为有效的JSON格式。

听起来rply是字符串,而不是JSONYes,但即使我使用JSON.parse(rply),它也不是work@Kreso您能提供数据库返回的整个字符串吗?“位置4处JSON中的意外标记t”。听起来像是无效的JSON字符串parse()也一样如果您这样做,行失败?您是否收到错误?您是否确定您拥有您认为拥有的内容?是否
console.log(rply)
还有什么其他内容吗?如果返回的是有效的JSON,那么上面的代码就不是有效的JSON。它缺少有效JSON所需的所有键的引号。您的代码是有效的对象,但不是有效的JSON。因为它不是有效的JSON。它必须是
{“type”:“bar”,“data”:
。。。。