Javascript 将JSON数据传递到d3.JSON时出错

Javascript 将JSON数据传递到d3.JSON时出错,javascript,php,d3.js,Javascript,Php,D3.js,单击按钮时,我会从viewmodel传递一个数据数组。在d3.json函数中,我对viewmodel使用json\u encode将其转换为json对象。当我在页面上检查它时,它确实转换了它,但我得到了一个 参数列表后的“未捕获的语法错误:丢失”) 有人能告诉我我做错了什么吗 d3.json("<?php echo json_encode($viewmodel) ?>", function(error,data){ data.forEach(function(d) {

单击按钮时,我会从viewmodel传递一个数据数组。在
d3.json
函数中,我对viewmodel使用
json\u encode
将其转换为json对象。当我在页面上检查它时,它确实转换了它,但我得到了一个

参数列表后的“未捕获的语法错误:丢失”)

有人能告诉我我做错了什么吗

d3.json("<?php echo json_encode($viewmodel) ?>", function(error,data){
        data.forEach(function(d) {
          d.projectdate = parseDate(d.projectdate);
          d.Cost = +d.Cost;
        });

          var svg = d3.select("body")
                      .append("svg")
                      .attr("id", "chart")
                      .attr("width", w)
                      .attr("height", h);

          svg.selectAll("bar")
              .data(data)
              .enter()
                .append("rect")
                .classed("bar", true)
                .attr("x", 0)
                .attr("y", function(d, i){
                    return i * 20
                })
                .attr("width", function(d,i){
                    return d;
                })
                .attr("height", 20);


    });
d3.json(“),函数(错误,数据){
data.forEach(函数(d){
d、 projectdate=parseDate(d.projectdate);
d、 成本=+d.成本;
});
var svg=d3.选择(“主体”)
.append(“svg”)
.attr(“id”、“图表”)
.attr(“宽度”,w)
.attr(“高度”,h);
svg.selectAll(“条”)
.数据(数据)
.输入()
.append(“rect”)
.classed(“bar”,真)
.attr(“x”,0)
.attr(“y”,函数(d,i){
返回i*20
})
.attr(“宽度”,函数(d,i){
返回d;
})
.attr(“高度”,20);
});
要求url作为其第一个参数,而不是JSON字符串。这将反过来请求特定url上的指定文件从中加载JSON

但是,在您的情况下,直接将JSON分配给
数据
变量可能更容易

var data = JSON.parse("<?php echo json_encode($viewmodel) ?>");

data.forEach(function(d) {
  //...
});
var data=JSON.parse(“”);
data.forEach(函数(d){
//...
});