Ich bin neu in Javascript und ich habe ein Problem festgestellt Ich brauche alle Null-Werte aus einer JSON-Datei zu entfernen. Aber ich konnte es nicht bekommen Ich habe verschiedene Methoden ausprobiert, die ich auf der Seite gefunden habe, aber sie funktionieren nicht für mich. Eine der Möglichkeiten, die ich unten gefunden habe. Ich habe nur ein Problem, wie ich vor der JSON-Datei gesagt habe Ich bekomme es mit JSON.Stringify und mit dem Code, der Null entfernt, bekomme ich dieses "{\" Name \ ": \" Ann \ ", \" children \ ": [null, {\ "Name \": \ "Beta \", \ "Kinder \": [null, null, null]}, null]} ".Entfernen Sie Nullwerte aus JSON-Datei Javascript
function Parent(name){
this.name = name;
this.children=new Array(null,null,null);
}
Parent.prototype.getName = function(){
return this.name;
};
Parent.prototype.setName = function(name) {
this.name=name;
};
Parent.prototype.getChildren = function(){
return this.children;
};
Parent.prototype.setChildren = function(parent) {
this.children=parent;
};
var parent = create(aux,new Parent(""));// This method create tree parent
var o = parent;
j = JSON.stringify(o, (k, v) => Array.isArray(v)
&& !(v = v.filter(e => e !== null && e !== void 0)).length ? void 0 : v, 2)
alert (j);
Json-Datei:
{
"name": "Ann",
"children":
[
null,
{
"name": "Beta",
"children":
[
null,
null,
null
]
},
null
]
}
Was ich erwarte:
{
"name": "Ann",
"children":
[
{
"name": "Beta"
}
]
}
Weil ich Sie nicht denken wollen, Objekteigenschaften löschen. Es sieht so aus, als müssten Sie stattdessen null Elemente von Arrays "spleißen". – Andy
Möchten Sie das ursprüngliche Objekt wirklich ändern? Ich würde in Betracht ziehen, ein neues gefiltertes Objekt zu erstellen, anstatt Eigenschaften aus der ursprünglichen Referenz –
@MatiasCicero Relax zu aktualisieren und zu löschen. Es stammt aus einer JSON-Datei. Nach der Analyse ist es also bereits eine Kopie. – blex