Я использую Python для очистки некоторых данных из Интернета перед визуализацией указанных данных с помощью d3.js. У меня проблема с чтением сгенерированного JSON в d3.js.d3.js не читает Python-generated 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 его не будет читать. Это мой питон, создающий плохой JSON? Если да, то как мне сгенерировать его правильно? Я неправильно ссылаюсь на JSON в d3.js?
Благодаря