json lint (나만의? 스키마에 대한 유효성? 테스트) 를 만드는데 조언을 구하고자 합니다.
안녕하세요
평소 파싱이나 프로그래밍 언어에 관심이 많은, 취미로 코딩하는 백수입니다.
자연스럽게 json이라는 파일 포맷에 관심이 많아졌습니다.
그래서 이것저것 json과 관련된 자료를 찾아보니 json 스키마 라는 게 있더군요.
문제는 제가 보기에는? 스키마가 너무 가독성이 떨어지는 것 같습니다. 아무래도 json이라는 틀
안에서 하다 보니 그런 것이 아닐까 추측을 해봅니다.
아무튼 저만의 스키마를 대충? 생각을 해보았습니다.
{
"xxx": 333,
"yyy": 3
}위와 같은 json이 있을때...
아래와 같은 스키마를 생각해봤습니다.
{
"xxx": 333,
"yyy": %int
}
그리고 스키마에 사용자 정의 함수를 못 넣는 것 같아서 만들어둔 자작 언어를 이용해보았습니다.
{
"xxx": %int%event_larger_than@'n = 300',
"yyy": %int
}Event = {
id = larger_than
$parameter = { n name value is_usertype real_dir select } # select : NAME or VALUE ?
$if = {
cond = {
$COMP> = {
$parameter.value
$parameter.n
}
}
then = {
$return = { TRUE }
}
}
$return = { FALSE }
}좀 더 자세한? 예제를 보시려면 https://github.com/vztpv/JsonLint 여기를 참고해주세요
(레포를 예전에 만들어 둔 거라 그동안 새롭게 만든 json 파서?로 파서를 바꿀 예정입니다.)
음 이렇게 해봤는데 개선하거나 고쳐야 할 점이 있을까요?