JavaScript를 JSON으로 매핑

Migel Hewage Nimesha 2023년10월12일
  1. 자바스크립트의 map() 함수
  2. JavaScript에서 지도 사용
  3. Map to JSON에서 JSON.stringify() 메서드 사용
  4. Map to JSON에서 object.fromEntries() 메소드 사용
  5. 지도를 JSON 문자열로 변환
  6. 결론
JavaScript를 JSON으로 매핑

JSON(JavaScript Object Notation)은 일반적으로 구조화된 데이터를 표시하기 위한 텍스트 기반 형식입니다. JavaScript에서는 map() 함수를 사용하여 코드를 단순화할 수 있습니다.

자바스크립트의 map() 함수

map()으로 알려진 키/값 쌍 모음은 모든 데이터를 사용할 수 있으며 삽입 순서를 기억합니다.

이러한 훌륭한 새 구문은 map()입니다. JavaScript 배열의 모든 요소를 변경하기 위한 훌륭한 도구입니다.

모든 배열을 반복하는 데 사용합니다. 결과에 따라 최근 완성된 요소에서 생성하거나 배열의 요소를 수정하여 새로운 범위를 형성할 수 있습니다.

배열, 객체 및 정수를 포함하여 무엇이든 키는 map()이 될 수 있습니다.

예제 아래에서 map() 메서드를 사용하여 firstNamemiddleName 값을 결합하여 배열을 반복할 수 있습니다.

let users = [
  {firstName: 'Bob', middleName: 'Mel', lastName: 'Lee'},
  {firstName: 'Joanna', middleName: 'Kaccy', lastName: 'Smith'},
  {firstName: 'Peter', middleName: 'Jone', lastName: 'Steward'}
];

let Fullnames = users.map(function(element) {
  return `${element.firstName} ${element.middleName} ${element.lastName}`;
})

console.log(Fullnames);

위 코드의 출력은 다음과 같습니다.

지도 예시

map()을 사용하여 새 인터페이스와 기존 인터페이스를 추가 또는 삭제하고 해당 값을 검색할 수 있습니다. map 메서드의 구문은 다음과 같습니다.

arr.map(function(element, index, array) {}, this);

배열의 각 요소는 항상 현재 요소, 현재 요소의 인덱스 및 전체 배열 개체를 전달하는 콜백 함수를 호출합니다.

JavaScript에서 지도 사용

맵을 사용하여 출력을 수집하고 새 어레이에 추가할 수 있습니다. JavaScript에서 for 루프 또는 “중첩"을 사용하여 유사한 작업을 수행할 수 있습니다.

그러나 map() 함수를 사용하여 더 쉽게 읽을 수 있는 함수를 만들 수 있습니다.

새로운 map() 구문을 사용하여 map()을 빌드하고 초기화한 다음 값을 추가할 수 있습니다.

firstMap이라는 새 map()을 만들 수 있습니다.

let firstMap = new Map()

출력은 빈 맵이 됩니다.

새 지도

map() 함수에 값을 부여하려면 new Map()을 사용하여 Map 객체를 생성해야 합니다.

예를 들어 새 지도 favCharacter를 사용하여 지도 개체를 만듭니다. 아래는 이에 대한 논의입니다.

let favCharacter = new Map([
  ['Brett Lee', 'Australian'], ['Muttiah Muralitharan', 'SriLankan'],
  ['Chris Gayle', 'West Indian'], ['Wasim Akram', 'Pakistan']
]);
console.log(favCharacter);

위 코드의 출력은 다음과 같습니다.

새 맵 객체

이 예에서는 해당 맵 개체에 세계적으로 유명한 크리켓 선수의 이름과 국적이 표시된 상점입니다. console.log(favCharacter);를 사용하여 위에 표시된 것과 유사한 출력을 얻을 수 있습니다.

Map to JSON에서 JSON.stringify() 메서드 사용

먼저 키와 값을 문자열로 사용하여 map()을 만들 수 있습니다. Map.forEach 메소드는 이를 사용하여 모든 요소에 대한 호출을 포함하는 맵을 실행합니다.

그런 다음 개체가 키와 값을 만들고 추가합니다. 마지막으로 개체는 JSON 형식의 JSON.stringify() 메서드를 반환합니다.

let detail = new Map()
detail.set('Name', 'Lora');
detail.set('Country', 'England');
detail.set('Age', '24');
let jsonObject = {};
detail.forEach((value, key) => {jsonObject[key] = value});
console.log(JSON.stringify(jsonObject))

위 코드의 출력은 다음과 같습니다.

문자열화

Map to JSON에서 object.fromEntries() 메소드 사용

Object.fromEntries() 메서드는 입력 맵을 가져오고 이를 키와 값의 JSON 객체로 변환하는 데 사용합니다. 객체 클래스의 fromEntries 메서드는 ES6에서 도입되었습니다.

아래에서 이 방법의 예를 볼 수 있습니다.

let detail = new Map()
detail.set('Name', 'Lora');
detail.set('Country', 'England');
detail.set('Age', '24');
const result = Object.fromEntries(detail);
console.log(result)

위 코드의 출력은 다음과 같습니다.

fromEntries

지도를 JSON 문자열로 변환

마찬가지로 Object.fromEntries()를 사용하여 지도를 JSON 문자열과 JavaScript 객체로 바꿀 수 있습니다. 그런 다음 해당 개체를 JavaScript 메서드 JSON.stringify()에 대한 인수로 전달합니다.

통사론:

var obj = Object.fromEntries(details);
var jsonString = JSON.stringify(obj);

이 구문을 사용하여 JavaScript 맵을 JSON 문자열로 변환할 수 있습니다. 아래 예에서 해당 구문이 어떻게 작동하는지 확인할 수 있습니다.

<!DOCTYPE html>
<html lang="en">
<body>
    <pre id="output"></pre>
    <script>
        var detail = new Map([['Name', 'James'],['Country', 'America'],['Age', 23]]);
        var obj = Object.fromEntries(detail);
        var jsonString = JSON.stringify(obj);
        document.getElementById('output').innerHTML += jsonString;
    </script>
</body>
</html>

위 코드의 출력은 다음과 같습니다.

json 문자열에 매핑

결론

이 기사에서는 JavaScript 맵을 JSON으로 변환하는 방법을 살펴보았습니다. 사용할 수 있는 몇 가지 방법에 대해 논의했습니다.

주로 JavaScript의 JSON.stringify() 메서드와 Object.fromEntries() 메서드를 사용하여 맵을 JSON 문자열로 변환하는 방법을 배웠습니다.

Migel Hewage Nimesha avatar Migel Hewage Nimesha avatar

Nimesha is a Full-stack Software Engineer for more than five years, he loves technology, as technology has the power to solve our many problems within just a minute. He have been contributing to various projects over the last 5+ years and working with almost all the so-called 03 tiers(DB, M-Tier, and Client). Recently, he has started working with DevOps technologies such as Azure administration, Kubernetes, Terraform automation, and Bash scripting as well.

관련 문장 - JavaScript Map