728x90
문자열을 JSON.parse로 parsing해서 이용할때 Error 때문에 문제가 발생하는 경우가 있습니다.
그래서 사용하기 전에 JSON인지 확인하는 과정이 필요한 경우가 있습니다.
function isJson(str) {
try {
JSON.parse(str);
} catch (e) {
return false;
}
return true;
}
위와 같이 try{...} catch{...}를 이용하여 string을 parsing하기 전에 JSON string인지 확인하는 과정을 추가했습니다.
하지만 제가 몰랐던 한가지!
isJson("123")도 true를 return한다는 사실..
저는 String이 아닌 JSON만을 사용하고 싶었기 때문에 typeof를 이용해서 함수를 수정해서 해결했습니다.
typeof JSON.parse("123") == 'number'; //true
typeof JSON.parse('{ "a":1, "b":2, "c":3}') == 'object'; //true
728x90
'Programming > Javascript, Typescript' 카테고리의 다른 글
data-* attribute (0) | 2021.06.01 |
---|---|
[Javascript] window.open left,top에 음수값 (0) | 2020.01.11 |
[Javascript] insertAdjacentHTML (0) | 2019.01.06 |
[Javascript] Vanilla JS (0) | 2018.12.10 |
[JavaScript] Polyfill 사용하기(Feat. padStart()) (0) | 2018.11.10 |
댓글