旧タイトル) JSON.parseする際に余分なプロパティを削除したい
前提・実現したいこと
JSONファイルからobjectにする際に、余分なプロパティを削除したい
該当のソースコード
TypeScript
1//型定義ファイル内 2interface Person { 3 name:string 4}
TypeScript
1//json受け取り処理 2const jsonString = rec[0].data.inputData 3const newObject:Person[] = JSON.parse(jsonString) 4console.log(newObject) 5//この近くで余分なプロパティを消したい 6
発生している問題・エラーメッセージ
console.logにて値を確認すると、personの中に["name"]以外のプロパティがある
元々Personには["name"]の他に["submitDate"]プロパティを設定してあり、受け取ったJSONにはこれがあったりなかったりします。これを受け取り時に削除したいです
今回は余分なプロパティが名前までわかっているので、delete person.submitDateで消しても問題ないですが、できれば未知のプロパティも消せるようにしたいです
追記
TypeScript
1//json受け取り処理 2const jsonString = rec[0].data.inputData 3const newObject:Person[] = JSON.parse(jsonString) 4 5//以下追加 6//interfaceからは実行時に情報が得られないので、クラスを定義 7class PersonClass implements Person{ 8 name:'' 9} 10const validation = new PersonClass() 11const includeProps = Object.keys(validation) 12//プロパティの文字列を配列の形で得たので、これを使ってプロパティの存在チェックが出来る 13//newObject.mapで新しい配列を作ったり 14//newObject.forEachで既存の配列に手を加えたり 15 16
冗長だと思いますが目的のプロパティを消す部分は達成できました。
回答1件
あなたの回答
tips
プレビュー