1

我开始学习 D3,它似乎是一个强大的框架。我正在尝试从简单的 python 网络服务器加载以下 html。我可以看到 .json 文件已加载,但我没有看到 json 打印在 chrome 浏览器的控制台日志中。

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8"/>
    <title>D3 Tests</title>
    <script type="text/javascript" src="resources/d3.v3/d3.v3.js"></script>
</head>
<body>
    <script type="text/javascript">
    var dataset;
    console.log("Before json");
    d3.json("pie-chart-data.json",function(error,data){
        if (error) return console.warn(error);
        dataset = data;
        console.log("Dataset is: "+dataset);
    });
    console.log("After json");
   </script>
</body>
</html>

这是 JSON 文件 - pie-chart-data.json

[
{key: "One",y: 5},
{key: "Two",y: 2},
{key: "Three",y: 9},
{key: "Four",y: 7},
{key: "Five",y: 4},
{key: "Six",y: 3},
{key: "Seven",y: .5}
]

我看到“Before json”和“After json”被打印到控制台,但没有看到“Dataset is”日志。我哪里错了-请帮忙。

谢谢,K。

4

1 回答 1

4

json 文件格式不正确,它的键周围必须有双引号,并且数字必须以数字或减号(而不是点)开头。

[
    {"key": "One",   "y": 5},
    {"key": "Two",   "y": 2},
    {"key": "Three", "y": 9},
    {"key": "Four",  "y": 7},
    {"key": "Five",  "y": 4},
    {"key": "Six",   "y": 3},
    {"key": "Seven", "y": 0.5}
]

完整的 json 规范和语法可以在json.org中找到。

于 2013-05-06T05:42:30.860 回答