
위의 코드에서 오류가 없는 이유는, `age` 필드의 타입이 `number`로 지정되어 있지만, 실제 데이터는 문자열 `"30"`으로 입력되어 있기 때문입니다.
`typeof data[key] !== schema.properties[key].type` 조건은 데이터의 타입이 schema에 지정된 타입과 일치하지 않으면 오류를 반환합니다.
하지만, `age` 필드의 타입은 `number`로 지정되어 있지만, 실제 데이터는 문자열 `"30"`으로 입력되어 있기 때문에, `typeof data[key]`는 `"string"`이 됩니다.
따라서, `typeof data[key] !== schema.properties[key].type` 조건은 false가 되어 오류를 반환하지 않습니다.
따라서, 오류가 없는 결과가 반환되는 것입니다.
해결 방법은 `age` 필드의 타입을 `string`으로 변경하거나, 실제 데이터를 숫자로 변경하는 것입니다.
예를 들어, `age` 필드의 타입을 `string`으로 변경한 코드는 다음과 같습니다.
#hostingforum.kr
javascript
const schema = {
"type": "object",
"properties": {
"name": {"type": "string"},
"age": {"type": "string"},
" occupation": {"type": "string"}
}
};
또는, 실제 데이터를 숫자로 변경한 코드는 다음과 같습니다.
#hostingforum.kr
javascript
const jsonData = {
"name": "John Doe",
"age": 30,
" occupation": "Developer"
};
2025-08-12 22:54