[javascript] JSON 데이터 유효성 검사하기

JSON(JavaScript Object Notation)은 데이터를 효과적으로 교환하고 저장하기 위한 경량의 데이터 형식입니다. JSON 데이터가 올바른 형식을 갖추고 있는지 확인하는 것은 매우 중요합니다.

JSON 데이터란 무엇인가요?

JSON 데이터는 텍스트 형식으로 구성되어 있으며, 속성-값 쌍이나 배열 형태로 이뤄진다. 예를 들어, 다음과 같은 JSON 데이터가 있습니다.

{
  "name": "John Doe",
  "age": 30,
  "email": "johndoe@example.com",
  "is_active": true,
  "vehicles": ["car", "motorcycle"]
}

JSON Schema를 사용한 유효성 검사

JSON Schema는 JSON 데이터의 구조와 값의 유효성을 정의하는 데 사용됩니다. 다음은 JSON Schema로 정의된 예제입니다.

{
  "type": "object",
  "properties": {
    "name": { "type": "string" },
    "age": { "type": "number" },
    "email": { "type": "string", "format": "email" },
    "is_active": { "type": "boolean" },
    "vehicles": { "type": "array", "items": { "type": "string" } }
  }
}

이제, JSON 데이터를 위의 JSON Schema를 사용하여 유효성 검사할 수 있습니다. 다양한 언어 및 프레임워크에서 JSON Schema를 지원하며, 이를 사용하여 유효성 검사를 수행할 수 있습니다.

JavaScript에서 JSON Schema를 사용한 유효성 검사

JavaScript 환경에서 ajv 라이브러리를 사용하여 JSON Schema를 활용한 유효성 검사를 수행할 수 있습니다. 아래는 ajv 라이브러리를 사용한 예제입니다.

const Ajv = require('ajv');
const ajv = new Ajv();
const validate = ajv.compile(jsonSchema);

const jsonData = {
  "name": "John Doe",
  "age": 30,
  "email": "johndoe@example.com",
  "is_active": true,
  "vehicles": ["car", "motorcycle"]
};

const valid = validate(jsonData);
if (!valid) {
  console.log(validate.errors);
}

마치며

JSON 데이터 유효성 검사를 통해 데이터의 신뢰성을 높이고, 안정적인 애플리케이션을 만들 수 있습니다. JSON Schema를 활용하여 데이터 유효성을 검사하는 것은 표준화된 방법이며, 다양한 언어와 프레임워크에서 지원되므로 널리 활용되고 있습니다.

참고 문헌: