Saya memiliki objek JSON bersarang yang perlu saya putar ulang, dan nilai setiap kunci bisa berupa String, array JSON, atau objek JSON lainnya. Bergantung pada jenis objek, saya perlu melakukan operasi yang berbeda. Apakah ada cara agar saya dapat memeriksa jenis objek untuk melihat apakah itu adalah String, objek JSON, atau array JSON?
Saya mencoba menggunakan typeofdan instanceoftetapi keduanya tampaknya tidak berhasil, karena typeofakan mengembalikan objek untuk objek dan array JSON, dan instanceofmemberikan kesalahan ketika saya melakukannya obj instanceof JSON.
Untuk lebih spesifik, setelah mem-parsing JSON menjadi objek JS, adakah cara untuk memeriksa apakah itu string normal, atau objek dengan kunci dan nilai (dari objek JSON), atau array (dari array JSON )?
Sebagai contoh:
JSON
var data = "{'hi':
{'hello':
['hi1','hi2']
},
'hey':'words'
}";
Contoh JavaScript
var jsonObj = JSON.parse(data);
var path = ["hi","hello"];
function check(jsonObj, path) {
var parent = jsonObj;
for (var i = 0; i < path.length-1; i++) {
var key = path[i];
if (parent != undefined) {
parent = parent[key];
}
}
if (parent != undefined) {
var endLength = path.length - 1;
var child = parent[path[endLength]];
//if child is a string, add some text
//if child is an object, edit the key/value
//if child is an array, add a new element
//if child does not exist, add a new key/value
}
}
Bagaimana cara saya melakukan pengecekan objek seperti gambar di atas?