javascript - d3.js 中的外部文件未定义 JSON 数据?

标签 javascript json d3.js

我正在开发一个 d3.js 应用程序,它从外部 JSON 文件读取数据。我觉得我已经尝试了一切,但每次我尝试加载数据并将其显示在 console.log 中时,console.log 都会将数据显示为 undefined。我在 Firefox 上使用 python -m SimpleHTTPServer 运行 Python Web 服务器以避免跨源资源共享问题,但我并没有真正将数据输入浏览器。我的代码:

<html>
    <head>
        <meta charset='utf-8'>
        <title>JSON Data Read</title>
    </head>
    <body>
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.6/d3.min.js" charset="utf-8"></script>        
        <script>
var dataset;
d3.json('course.json', function(error, json) {
    dataset = json;
    console.log(dataset);
});
        </script>
    </body>
</html>

有什么建议吗?

编辑:JSON 文件

{
    "course_id": "Course 1", 
    "prereqs": null, 
    "off_w": null, 
    "name": "Course 1 Title"
}{
    "course_id": "Course 2", 
    "prereqs": null, 
    "off_w": null, 
    "name": "Course 2 Title"
}{
    "course_id": "Course 3", 
    "prereqs": null, 
    "off_w": null, 
    "name": "Course 3 Title"
}

最佳答案

您的 JSON 文件不是有效的 JSON:

{
    "course_id": "Course 1", 
    "prereqs": null, 
    "off_w": null, 
    "name": "Course 1 Title"
}/* <-- JSON block ends here, no further content is expected */{
    "course_id": "Course 2", 
    "prereqs": null, 
    "off_w": null, 
    "name": "Course 2 Title"
}{
    "course_id": "Course 3", 
    "prereqs": null, 
    "off_w": null, 
    "name": "Course 3 Title"
}

这是有效的:

[ {
    "course_id": "Course 1", 
    "prereqs": null, 
    "off_w": null, 
    "name": "Course 1 Title"
}, {
    "course_id": "Course 2", 
    "prereqs": null, 
    "off_w": null, 
    "name": "Course 2 Title"
}, {
    "course_id": "Course 3", 
    "prereqs": null, 
    "off_w": null, 
    "name": "Course 3 Title"
} ]

在对象之间添加了 [, ],

<小时/>

错误消息有点神秘。 JSON 对空格敏感,因此在 } 之后,您可以拥有任意数量的空格,而不能是另一个 { 或任何其他非空格字符.

关于javascript - d3.js 中的外部文件未定义 JSON 数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32636123/

相关文章:

javascript - 向 Strapi CMS 版本 3.x 添加上传功能

javascript - 打断长文本

json - VS CODE错误S5057在指定目录: '.' 找不到tsconfig.json文件

json - 将 slice 结果 JSON 插入 MongoDB

javascript - 使用可用属性而不是范围绘制热图 D3 React

javascript - 将数组映射到数组的对象内

javascript - 当 autoheight 与 fullpage.js 中的自动滚动一起使用时,URL 和导航链接不会改变

sql-server - 如何在 SQL Server 中删除表中的随机换行符到 XML 文件

javascript - 这种制作热图矩阵的方法正确吗

d3.js - d3.IE中的selection类型检查