JSON データの型の判定方法のメモ。
判定したいデータを obj とした場合、配列は obj instanceof(Array) で判定できます。
ハッシュは obj.instanceof(Array) が false の場合に、obj instanceof(Object) で判定できます。
文字列は typeof(obj) == 'string' で判定できます。
以下は JSON のデータをコピーする関数の実行例です。
判定したいデータを obj とした場合、配列は obj instanceof(Array) で判定できます。
ハッシュは obj.instanceof(Array) が false の場合に、obj instanceof(Object) で判定できます。
文字列は typeof(obj) == 'string' で判定できます。
以下は JSON のデータをコピーする関数の実行例です。
function copy_json(obj) { if (obj instanceof(Array)) { let ret = []; for (let i = 0; i < obj.length; i++) { ret[i] = obj[i]; } return ret; } else if (obj instanceof(Object)) { let ret = {}; for (let [key, val] of Object.entries(obj)) { ret[key] = val; } return ret; } else if (typeof(obj) == 'string') { return obj; } else { return obj; } } let obj = {'abc': '123', 'def': 123, 'ghi': [0, 1, 2]}; let new_obj = copy_json(obj); console.log(JSON.stringify(new_obj)); > {"abc":"123","def":123,"ghi":[0,1,2]}