**JSON-LD** (JavaScript Object Notation for Linked Data)는 구조화된 데이터를 표현하기 위한 경량화된 형식으로, JSON을 기반으로 설계되었습니다. 이는 **Linked Data**(연결된 데이터) 개념을 웹에 적용하여, 사람과 기계가 데이터를 쉽게 이해하고 상호 연결할 수 있게 합니다. Schema.org와 같은 어휘를 사용해 웹 페이지에 의미론적 데이터를 추가하는 데 가장 널리 사용되며, 검색 엔진(Google, Bing 등)이 선호하는 마크업 형식입니다. --- ### 1. JSON-LD의 정의와 목적 - **정의**: JSON에 `@context`, `@type` 같은 키워드를 추가해 데이터의 의미와 관계를 정의한 형식. - **목적**: - **의미론적 데이터 제공**: 데이터에 문맥과 구조를 부여. - **검색 엔진 최적화**: Rich Snippets, Knowledge Graph 등 지원. - **연결된 데이터**: 서로 다른 시스템 간 데이터 상호운용성 향상. - **간단한 구현**: 기존 JSON과 유사해 개발자 친화적. --- ### 2. JSON-LD의 주요 특징 - **JSON 기반**: 기존 JSON 파서를 그대로 사용 가능. - **Linked Data 지원**: - `@context`: 데이터의 의미를 정의하는 어휘(예: Schema.org). - `@id`: 리소스의 고유 식별자(URI). - **독립성**: HTML 콘텐츠와 분리되어 ` ``` #### (2) 결과 - 검색 엔진은 이를 파싱해 이벤트 정보를 인덱싱. - 사용자에게 이벤트 날짜, 장소 등이 검색 결과에 표시됨. --- ### 5. JSON-LD의 작동 방식 1. **마크업 작성**: Schema.org 같은 어휘로 데이터 작성. 2. **삽입**: `"); } } ``` #### 출력 결과: ```html ``` --- ### 7. JSON-LD와 다른 형식 비교 | **특성** | **JSON-LD** | **Microdata** | **RDFa** | |---------------------|-----------------------|-----------------------|----------------------| | **형식** | JSON 스크립트 | HTML 속성 | HTML 속성 | | **독립성** | HTML과 분리 | HTML에 통합 | HTML에 통합 | | **복잡도** | 낮음~중간 | 중간 | 높음 | | **SEO 지원** | 강력 (Google 선호) | 강력 | 강력 | | **Linked Data** | 강력 지원 | 약함 | 강력 | - **JSON-LD**: 독립적이고 가독성 좋음, 현대 웹에서 주류. - **Microdata**: HTML과 밀접, 직관적. - **RDFa**: 시맨틱 웹에 최적화, 복잡. --- ### 8. JSON-LD의 장점과 단점 - **장점**: - HTML 구조와 분리되어 유지보수 용이. - 검색 엔진이 선호 (Rich Snippets 지원). - Linked Data로 데이터 연결 가능. - JSON 기반으로 개발자 친화적. - **단점**: - 초기 학습 필요 (`@context` 등). - 잘못된 구조 시 검색 엔진 무시 가능. - 동적 생성 시 서버 로직 추가 필요. --- ### 9. 현대적 맥락 - **사용 사례**: - Schema.org와 결합해 SEO 강화. - Open Graph, Twitter Cards와 함께 소셜 미디어 최적화. - API 데이터 교환 형식으로 활용. - **도구**: - Google Structured Data Testing Tool: JSON-LD 검증. - JSON-LD Playground: 문법 테스트. - **버전**: JSON-LD 1.1은 `@nest`, `@prefix` 등 추가 기능 제공. --- ### 10. 결론 JSON-LD는 구조화된 데이터를 웹에 추가하는 강력하고 유연한 방법으로, Schema.org와 함께 사용 시 SEO와 데이터 활용성을 극대화합니다. JSON 기반으로 자바 같은 언어로 쉽게 생성 가능하며, 검색 엔진과 Linked Data 생태계에서 핵심 역할을 합니다. 현대 웹 개발에서 필수적인 기술로 자리잡았습니다. 추가로 JSON-LD의 특정 기능(예: `@graph`, 커스텀 `@context`)이나 다른 예제가 필요하면 말씀해주세요!