자바스크립트 json 확인하기
넘어온 값이 json인지 확인하는 방법입니다.
var value_Json = "";
if( Object.prototype.toString.call(value_Json) === "[object JSON]"){
//value_Json가 json이면 실행한다.
} else{
//value_Json가 json이 아니면 실행한다.
}
이 방법은 Kangax가 알린 방법으로서
.toString() 메서드를 사용하면 모든 브라우저에서 표준문자열을 반환합니다.
예를 들면, json뿐만 아니라 Array, Number, Date, String, Function 등 모든 것들을 표현해줍니다.
아래 예시를 적어놨습니다.
(출처 : https://gist.github.com/pbakondy/f442e91995e9d206c056)
// under Google Chrome 36
Object.prototype.toString.call([])
// "[object Array]"
Object.prototype.toString.call(function(){})
// "[object Function]"
Object.prototype.toString.call({})
// "[object Object]"
Object.prototype.toString.call(null)
// "[object Null]"
Object.prototype.toString.call(undefined)
// "[object Undefined]"
Object.prototype.toString.call(1)
// "[object Number]"
Object.prototype.toString.call(1.1)
// "[object Number]"
Object.prototype.toString.call(NaN)
// "[object Number]"
Object.prototype.toString.call(Infinity)
// "[object Number]"
Object.prototype.toString.call(true)
// "[object Boolean]"
Object.prototype.toString.call('')
// "[object String]"
Object.prototype.toString.call(/./g)
// "[object RegExp]"
Object.prototype.toString.call()
// "[object Undefined]"
Object.prototype.toString.call(void 0)
// "[object Undefined]"
Object.prototype.toString.call(window)
// "[object global]"
Object.prototype.toString.call(document)
// "[object HTMLDocument]"
Object.prototype.toString.call(document.location)
// "[object Location]"
Object.prototype.toString.call(document.location.href)
// "[object String]"
Object.prototype.toString.call(Object)
// "[object Function]"
Object.prototype.toString.call(Object.prototype)
// "[object Object]"
Object.prototype.toString.call(Object.prototype.toString)
// "[object Function]"
Object.prototype.toString.call(Date)
// "[object Function]"
Object.prototype.toString.call(Date())
// "[object String]"
Object.prototype.toString.call(new Date())
// "[object Date]"
Object.prototype.toString.call(Math)
// "[object Math]"
Object.prototype.toString.call(Math.abs)
// "[object Function]"
Object.prototype.toString.call(Symbol())
// "[object Symbol]"
Object.prototype.toString.call(JSON)
// "[object JSON]"
'IT 자료' 카테고리의 다른 글
리눅스 cpu사용량 명령어 (0) | 2016.03.10 |
---|---|
자바스크립트 referenceerror (0) | 2016.03.01 |
[DB2] NOT COLUMN OF INSERTED/UPDATED TABLE (0) | 2016.02.15 |
ajax로 받아온 json 활용하기 (0) | 2016.02.04 |
SQL DB2 ROUND 반올림 주의사항 (0) | 2015.12.30 |