javascriptが新しく、問題が発生しましたjsonファイルからすべてのnull値を削除する必要があります。しかし、私はそれを得ることができませんでした私はサイトで見つけた異なる方法を試してみましたが、私のために動作しません。 私が以下で見つけた方法の1つ。 jsonファイルの前にJSON.stringifyで取得し、nullを取り除くコードを使用すると、この "{\" name \ ":\" Ann \ "、\" children \ ": [null、null、null]}、null]} "、" null "、" null "、" null "jsonファイルからnull値を削除する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ファイル:
{
"name": "Ann",
"children":
[
null,
{
"name": "Beta",
"children":
[
null,
null,
null
]
},
null
]
}
は、私が何を期待:
j = '{ "name": "Ann", "children": [ null, { "name": "Beta", "children": [ null, null, null ] }, null ] }'
o = JSON.parse(j, (k, v) => Array.isArray(v) ? v.filter(e => e !== null) : v)
console.log(o)
{
"name": "Ann",
"children":
[
{
"name": "Beta"
}
]
}
を。代わりに配列のヌル要素をスプライスする必要があるようです。 – Andy
元のオブジェクトを変更してもよろしいですか?私は、元の参照からプロパティを更新したり削除したりする代わりに、新しいフィルターされたオブジェクトを作成することを検討したいと思います。 –
@MatiasCicero Relax、JSONファイルから来たので、解析後はすでにコピーです。 – blex