Ich benutze D3, um eine Karte der Vereinigten Staaten zu rendern. Wenn ich versuche, die JSON-Datei zu laden, jedoch erhalte ich diese Fehlermeldung:Loading JSON in D3 gibt Nullwert
Uncaught TypeError: Cannot read property 'features' of null
Dies ist die JSON-Datei Ich verwende: https://github.com/alignedleft/d3-book/blob/master/chapter_12/us-states.json
Es ist im selben Verzeichnis wie alle meine anderen gelegen ist Dateien.
// determine width and height
var w = 500;
var h = 300;
// define map projection
var projection = d3.geoAlbersUsa();
// this translates geojson coordinates to svg path codes
var path = d3.geoPath()
.projection(projection);
// create svg
var svg = d3.select("body")
.append("svg")
.attr("width", w)
.attr("height", h);
// load in the geojson file
d3.json("states.json", function(json) {
console.log(json); // <---- comes up as "null"
// create one path per geojson feature
svg.selectAll("path")
.data(json.features) // <---- THIS is where the error is apparently coming from
.enter()
.append("path")
.attr("d", path);
});
Jeder Einblick würde geschätzt werden. Vielen Dank!
Nicht sicher, was das meiste davon bedeutet, aber es sieht aus wie es richtig geht? Status: 304 - Typ: xhr - Initiator: d3.v4.min.js - Größe: 136 B - Zeit: 7ms. Wenn ich states.json auf der Registerkarte "Netzwerk" auswähle, scheint die Registerkarte "Vorschau" den JSON korrekt anzuzeigen. Alle drei Dateien, die ich verwende - index.html, states.json und render-map.js - befinden sich im selben Verzeichnis. Der Versuch, einen absoluten Pfad zu wählen, hat nichts verändert. –
Es sieht so aus, als ob Ihre JSON-Datei ungültige Zeichen enthält, dh Multibyte-Zeichen. Wenn Sie die richtige Callback-Definition verwenden und das Fehlerargument protokollieren, erhalten Sie eine Fehlermeldung darüber, dass versucht wird, die JSON-Datei zu analysieren. Wie hast du die JSON-Datei von GitHub gespeichert? Kopieren/Einfügen oder direkt herunterladen? Sie müssen es möglicherweise erneut herunterladen –
Ich habe eine Kopie/Einfügen aus dem Github-Raw-Code in Notepad ++. Habe es mit direktem Download erneut getestet und erhalte den Fehler nicht mehr! Das scheint das Problem gewesen zu sein. Vielen Dank! –