본문 바로가기
IT 자료

자바스크립트 json 확인하기

by 성곤 2016. 3. 1.
반응형


자바스크립트 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