Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript에서 JSON 중첩 객체를 출력하는 방법

JavaScript에서 JSON 중첩 객체(nested object)를 출력하려면 for 루프와 함께 JSON.parse() 메서드를 사용하면 됩니다. 문자열 형태로 저장된 JSON 데이터를 파싱한 후, 반복문을 통해 원하는 값을 손쉽게 추출할 수 있습니다.

예제 코드

다음은 학생 정보 배열 안에 문자열로 된 과목 상세 정보(subjectDetails)가 중첩되어 있는 JSON 데이터를 처리하는 예제입니다.

var details = [
    {
        "studentId": 101,
        "studentName": "John",
        "countryName": "US",
        "subjectDetails": "{\"0\":\"JavaScript\",\"1\":\"David\"}"
    },
    {
        "studentId": 102,
        "studentName": "Bob",
        "countryName": "UK",
        "subjectDetails": "{\"0\":\"Java\",\"1\":\"Carol\"}"
    },
    {
        "studentId": 103,
        "studentName": "Mike",
        "countryName": "AUS",
        "subjectDetails": "{\"0\":\"MongoDB\",\"1\":\"Adam\"}"
    }
]
for (const detailsObject of details) {
    const subjectDetailsObject =
    JSON.parse(detailsObject.subjectDetails);
    console.log(subjectDetailsObject[0]);
}

프로그램 실행 방법

위 프로그램을 실행하려면 Node.js 환경에서 다음 명령어를 사용합니다.

node fileName.js

여기서는 파일 이름이 demo145.js라고 가정합니다.

실행 결과

위 코드를 실행하면 다음과 같은 출력 결과를 확인할 수 있습니다.

PS C:\Users\Amit\JavaScript-code> node demo145.js
JavaScript
Java
MongoDB

코드 설명

동작 원리를 간단히 정리하면 다음과 같습니다.

1. for...of 루프: details 배열의 각 객체를 순회합니다.
2. JSON.parse(): subjectDetails 필드는 문자열 형태의 JSON이므로, 이를 실제 객체로 변환합니다.
3. console.log(): 변환된 객체에서 키 "0"에 해당하는 값(과목명)을 출력합니다.

이처럼 JSON.parse()를 활용하면 문자열로 직렬화된 중첩 JSON 데이터도 자유롭게 다룰 수 있습니다.