2011-05-07 9 views
4

내가 자바 스크립트에서 JSON 객체를 가지고 존재하는 키가있는 경우 나 개체가 비어있는 경우 찾으려JSON 자바 스크립트 - - 부동산의지도 아래처럼 함수 참조

var myjson={"name":"myname","address":"Myaddress"} 
// if my json is not empty: 
     //do something 

, 즉. Javascript에서 어떻게 할 수 있습니까?

Google 검색을 통해 헛수고로 검색되었지만 너무 많은 정크 (관련성이없는) 정보가 검색되는 것을 말하기는 쉽지 않습니다.

어떻게 작동합니까 (키 삭제 포함)에 대한 공식적인 참고 자료가 있습니까? 또는 Google 검색 (내게 블링이 없음)과 관련 정보에 대한 희망을 가지고 싸우겠습니까?

답변

4

JavaScript 개체가 비어 있는지 확인하는 가장 좋은 방법은 개체 키 (값이 아님)의 배열을 반환하는 Object.keys를 사용하는 것입니다.

Object.keys({foo: "bar"}) // returns ["foo"] 

Object.keys({}) // returns [] 

그래서 객체가 키가 있는지 알 수있는 쉬운 방법은 해당 배열의 길이를 계산하는 것입니다

다른 답변에서 언급 한 바와 같이
if(Object.keys(myjson).length) { 
    // this object has keys! 
} 
0

, Object.keys() 트릭을 할해야합니다,하지만하지 않습니다 당신은 y를 타이트, 덜 장황 코드를 좋아하는 사람의 종류 인 경우

function isEmpty(o) { 
    // check all keys in the object 
    for (var key in o) { 
     // but don't go up the prototype chain 
     if (o.hasOwnProperty(key)) { 
      // if found, stop right away 
      return false; 
     } 
    } 
    return true; 
} 

: 인 ECMAScript 5를 지원하지 않는 오래된 브라우저에서의 작업은 여기에 크로스 브라우저를 작동합니다 빠른 테스트 기능입니다 ou는 다음과 같이 작성할 수 있습니다.

function isEmpty(o) { 
    for (var key in o) if (o.hasOwnProperty(key)) return false; 
    return true; 
}