2012-02-01 3 views
0

json 파일에 레코드 수를 표시하고 싶습니다. json 파일은 예를 들어 test.json이고 내 extjs 파일에 레코드 수를 표시하려고합니다.json 파일을 카운트하십시오.

나는 작동하지 않지만 쉽게 들릴 수 있습니다. 누구나 아이디어가 있으십니까?

이 내가 뭘하려 :

var jsonData = new Ext.data.JsonStore({ 
    url: 'test.json', 
    root: 'ritas', 
}); 
alert(jsonData.length); 

경고는 "정의되지 않은"저를 표시합니다. 경고가 3 표시됩니다

나는이

var jsonData = [{a:1},{b:2},{c:3}]; 
alert(jsonData.length); 

같은 테스트 케이스를하려고하면.

+0

코드 일부를 게시하십시오. 너 뭐 해봤 니? 당신은 무엇을 기대 했습니까? 실제로 무슨 일이 있었습니까? –

+0

내가 코드를 추가, 덕분에 –

답변

1

Ext.data.JsonStore 클래스에는 length 속성이 없습니다. 이 가게는 다음과 같은 형식으로 JSON을 소비하도록 구성되어

var jsonData = new Ext.data.JsonStore({ 
    url: 'test.json', 
    root: 'ritas', 
    fields: [ 'field1', 'field2' ] // record property names go here 
}); 
alert(jsonData.getCount()); 

http://docs.sencha.com/ext-js/4-0/#!/api/Ext.data.JsonStore-method-getCount

: 대신, 캐시 된 레코드 수를 얻을 수있는 JsonStore의 getCount() 방법을 사용

{ 
    ritas: [ 
     {field1: 'field1Value', field2: 'field2Value'}, // record 1 
     {field1: 'field1Value2', field2: 'field2Value2'} // record 2 
    ] 
} 

이 당신의 서버가이 형식의 객체를 반환합니까?

+0

그것은 0을 반환합니다, 덕분에 btw –

+0

제가 잘못 했나요? 3을 반환해야합니다 –

+0

내 편집을 참조하십시오. 당신은 상점에'fields' 설정을 지정하고 있습니까? 서버에서 리턴 된 오브젝트가 상점 구성과 일치합니까? – RoccoC5

관련 문제