언어 및 도구들 공부/Javascript

JS에서 Json값으로의 접근방법

Dr.Mlem 2024. 12. 13. 16:50

Q1.

JS의 문법에서, Json의 키값을 통해서 값을 출력하는 방법에는, Json변수명.Json키이름 이렇게 접근하는 방식 하나와, Json변수명["JSON키이름"] 이렇게 접근하는 방식이 있는거야?

 
 
 
A1.

ChatGPT의 말:

 

 

맞아요! JavaScript에서 JSON 객체의 키 값을 통해 값을 출력하는 방법에는 두 가지가 있습니다:

1. 점 표기법 (Dot Notation)

  • 문법: jsonObject.keyName
  • 장점: 간결하고 직관적이며 코드 가독성이 좋음.
  • 제약:
    • 키 이름이 숫자로 시작하거나, 공백 또는 특수 문자를 포함할 경우 사용할 수 없음.
    • 동적으로 키 이름을 설정해야 할 경우에는 사용할 수 없음.
  • 예시: 
const jsonObject = { name: "Alice", age: 25 };
console.log(jsonObject.name); // 출력: Alice
console.log(jsonObject.age);  // 출력: 25

2. 대괄호 표기법 (Bracket Notation)

  • 문법: jsonObject["keyName"]
  • 장점:
    • 동적인 키 이름 접근 가능 (예: 변수 사용).
    • 키 이름에 공백, 숫자 시작, 특수 문자가 있어도 접근 가능.
  • 예시:
const jsonObject = { "first name": "Bob", age: 30, "123key": "value" };
console.log(jsonObject["first name"]); // 출력: Bob
console.log(jsonObject["123key"]);     // 출력: value

const dynamicKey = "age";
console.log(jsonObject[dynamicKey]);   // 출력: 30

 

두 방법의 차이점

구분 점 표기법 대괄호 표기법
직관성 코드가 더 간결하고 직관적임. 조금 더 코드가 길어질 수 있음.
사용 제약 키가 유효한 식별자(identifier)일 경우만 사용 가능. 키 이름에 제약 없음.
동적 키 접근 불가능 가능
특수 문자 처리 불가능 가능

결론

둘 다 상황에 맞게 적절히 사용해야 합니다.

  • 정적이고 표준적인 키 이름점 표기법 사용.
  • 동적 키 이름이나 특수한 키 이름대괄호 표기법 사용.

궁금한 점이 더 있다면 질문해주세요! 😊