質問編集履歴

1

追加で調べたことを補足

2021/02/07 12:12

投稿

Hr_ppm
Hr_ppm

スコア10

test CHANGED
@@ -1 +1 @@
1
- JSON.parseする際に余分なプロパティを削除したい
1
+ TypeScript JSON.parseする際に余分なプロパティを削除したい
test CHANGED
@@ -1,3 +1,7 @@
1
+ 旧タイトル) JSON.parseする際に余分なプロパティを削除したい
2
+
3
+
4
+
1
5
  ### 前提・実現したいこと
2
6
 
3
7
  JSONファイルからobjectにする際に、余分なプロパティを削除したい
@@ -43,3 +47,45 @@
43
47
  元々Personには["name"]の他に["submitDate"]プロパティを設定してあり、受け取ったJSONにはこれがあったりなかったりします。これを受け取り時に削除したいです
44
48
 
45
49
  今回は余分なプロパティが名前までわかっているので、delete person.submitDateで消しても問題ないですが、できれば未知のプロパティも消せるようにしたいです
50
+
51
+
52
+
53
+ ### 追記
54
+
55
+ ``` TypeScript
56
+
57
+ //json受け取り処理
58
+
59
+ const jsonString = rec[0].data.inputData
60
+
61
+ const newObject:Person[] = JSON.parse(jsonString)
62
+
63
+
64
+
65
+ //以下追加
66
+
67
+ //interfaceからは実行時に情報が得られないので、クラスを定義
68
+
69
+ class PersonClass implements Person{
70
+
71
+ name:''
72
+
73
+ }
74
+
75
+ const validation = new PersonClass()
76
+
77
+ const includeProps = Object.keys(validation)
78
+
79
+ //プロパティの文字列を配列の形で得たので、これを使ってプロパティの存在チェックが出来る
80
+
81
+ //newObject.mapで新しい配列を作ったり
82
+
83
+ //newObject.forEachで既存の配列に手を加えたり
84
+
85
+
86
+
87
+
88
+
89
+ ```
90
+
91
+ 冗長だと思いますが目的のプロパティを消す部分は達成できました。