d3.js没有阅读Python生成的JSON

时间:2015-09-19 19:34:15

标签: javascript python json d3.js

我使用Python从网上抓取一些数据,然后使用d3.js显示所述数据。我在d3.js中读取生成的JSON时遇到了问题。

Python代码:

course_json_list = []
obj = {u"course_id": course_id, u"prereqs": prereqs}
        course_json_list.append(json.dumps(obj, indent=4))


# setting up JSON output file
json_output = {"nodes": course_json_list,
               "links": None}

with open("course-data.json", "w") as outfile:
    json.dump(json_output, fp=outfile)

当我在gVim中打开此代码时,我看到: {"nodes": ["{\n \"course_id\": \"Course 1\",\n \"prereqs\": null,\n...

我的d3.js代码:

var dataset;
d3.json('course-data.json', function(error, json_data) {
    if (error) console.log(error);
    dataset = json_data;
    d3.select("body").selectAll("p")
            .data(dataset.nodes)
            .enter()
            .append("p")
            .text(function(d) {
            //When this is return d; it works
                return d["course_id"];
    });
});

我已将其放入JSONLint并返回:

{
    "nodes": [
        "{\n    \"course_id\": \"Course 1\", \n    \"prereqs\": null, \n    \"off_w\": null, \n    \"name\": \"Intro\"\n}",
        "{\n    \"course_id\": \"Course 2\", \n ...

JSONLint说JSON是有效的,但我的d3.js代码不会读它。 我的python是否会生成错误的JSON?如果是这样,我该如何正确生成它?我在d3.js中错误地引用了JSON吗?

由于

0 个答案:

没有答案