2012-12-04 2 views
0

메신저 JSON에 새로운 기능이 추가되었습니다. 이미 JSON의 기초를 시험해 보았지만 예제에서 그것을 사용하는 것은 배열에 있고 키는 문자열에 있습니다. 내 것은 상당히 다르다. 그 대상과 열쇠는 숫자이다. 내 JSON 개체의 예는 var ojbJSON = {55: 3, 23: 2};입니다. 내 문제는 속성 길이가 없기 때문에 내가 길이 alert(objJSON.55); 같은 뭔가를 할 3 얻을 자바 스크립트 오류가 발생하기 때문에 개체에 대한 길이를 얻을 수 없습니다. 왜 내가 이걸 고집하는지 묻지 마라. 도와주세요. 감사.JSON - json 객체를 통해 루프하는 방법?

+0

잘 일치 [JSON spec] (http://json.org/)에 가지고있는 구성은 유효하지 않은 JSON : 객체 (이름이 '{}'를 기반으로하는 것은 이름 - 값 쌍. 여기서 name은 문자열이어야합니다. IMO이 비표준 사용법은 어딘가에 문제를 일으킬 운명입니다 ... – fvu

답변

1

당신은 수를 얻기 위해 반복해야 : 당신은 아마 이것에 대한 도우미를 쓰고 싶어

var i=0; 
for (var key in objJSON) i++; 
alert(i); 

을, 무언가 같이 :

function getLength(obj) { 
    var i=0; 
    for (var key in objJSON) i++; 
    return i; 
} 
alert(getLength(objJSON)); 

가 키를 얻으려면이 '외설 때 유효한 자바 스크립트 변수 이름 (숫자 또는 하이픈을 포함하는 이름 등)은 다음과 같이 괄호 표기법을 사용할 수 있습니다.

alert(objJSON[55]); 
+0

당신은 정말 도움이되었지만 이상한 일이 벌어지고 있습니다. (objJSON의 var 키) { alert (key + ":" + objJSON [key]); }'이지만 역순으로 나타납니다. – NinjaBoy

+0

@ NinjaBoy 당신이 맞아요. 이상 해요. 그게 뭔지 확실하지 않습니다. 덧붙여 말하자면 많은 객체 조작을해야한다면 Underscore.js를 확인해 보는 것이 좋습니다. 객체의 모든 키나 값을 가져 오는 것과 정렬, 그룹화 등과 같은 유틸리티 메소드가 있습니다. – McGarnagle

+0

고마워요. 나는 그것을 시험해 볼 것이다 !!! – NinjaBoy

관련 문제