Javascript (как браузер, так и NodeJS) имеют встроенный объект JSON
. На этом объекте есть два удобных метода для работы с JSON
. Они следующие:
JSON.parse()
Принимает JSON
в качестве аргумента, возвращает объект JS JSON.stringify()
Принимает объект JS в качестве аргумента возвращает объект JSON
Кроме того, для очень удобного использования JSON
они могут использоваться для других средств. Комбинация обоих методов JSON
позволяет нам очень легко сделать глубокие клоны массивов или объектов. Например:
let arr1 = [1, 2, [3 ,4]];
let newArr = arr1.slice();
arr1[2][0] = 'changed';
console.log(newArr); // not a deep clone
let arr2 = [1, 2, [3 ,4]];
let newArrDeepclone = JSON.parse(JSON.stringify(arr2));
arr2[2][0] = 'changed';
console.log(newArrDeepclone); // A deep clone, values unchanged