자바스크립트에서 JSON 데이터를 병합하는 방법

JSON(JavaScript Object Notation)은 데이터를 효과적으로 전달하고 저장하는 경량 데이터 교환 형식입니다. 때로는 여러 개의 JSON 데이터를 하나의 데이터로 병합해야 하는 경우가 있습니다.

자바스크립트에서 JSON 데이터를 병합하는 방법은 여러 가지가 있지만, 이 포스트에서는 Object.assign() 메서드를 사용하는 방법을 알아보겠습니다.

Object.assign() 메서드란?

Object.assign() 메서드는 한 개 이상의 출처 객체로부터 대상 객체로 속성을 복사하는 데 사용됩니다. 이를 활용하여 JSON 데이터를 병합할 수 있습니다.

JSON 데이터를 병합하는 예제

아래는 data1data2라는 두 개의 JSON 객체를 병합하는 예제입니다.

const data1 = {
  username: "john",
  email: "john@example.com",
};

const data2 = {
  age: 25,
  country: "USA",
};

const mergedData = Object.assign({}, data1, data2);
console.log(mergedData);

위 예제에서는 Object.assign() 메서드를 사용하여 빈 객체를 대상 객체로 지정한 뒤, data1data2를 병합하였습니다. 병합된 데이터는 mergedData라는 변수에 저장되고, console.log()를 통해 결과를 출력합니다.

아래는 출력 결과입니다.

{
  username: "john",
  email: "john@example.com",
  age: 25,
  country: "USA",
}

중복된 속성 처리 방법

JSON 데이터를 병합할 때, 출처 객체들 사이에 중복된 속성이 있는 경우 어떻게 처리해야 할까요?

Object.assign() 메서드는 병합 시 출처 객체들의 속성을 왼쪽에서 오른쪽 순서로 순회하면서 병합합니다. 이때, 오른쪽 객체의 속성으로 중복되는 경우, 오른쪽 객체의 속성이 우선 순위를 가집니다.

const data1 = {
  username: "john",
  email: "john@example.com",
  age: 22,
};

const data2 = {
  age: 25,
  country: "USA",
};

const mergedData = Object.assign({}, data1, data2);
console.log(mergedData);

위 예제에서 data1 객체와 data2 객체의 age 속성이 중복되고, data2 객체의 age 속성 값이 더 높습니다. 따라서 병합된 결과에서 age 속성 값은 25가 됩니다.

{
  username: "john",
  email: "john@example.com",
  age: 25,
  country: "USA",
}

요약

이 포스트에서는 자바스크립트에서 JSON 데이터를 병합하는 방법을 알아보았습니다. Object.assign() 메서드를 사용하여 여러 개의 JSON 객체를 병합할 수 있으며, 중복된 속성의 경우 오른쪽 객체의 값이 우선 순위를 가집니다. 이를 활용하여 JSON 데이터를 쉽게 병합할 수 있습니다.