반응형
json 객체의 크기를 얻습니다.
나는 AJAX 요청에 의해 반환되는 json 객체를 가지고 있으며 .length
계속 반환하기 때문에 문제가 undefined
있습니다. 내가 올바르게 사용하고 있는지 궁금합니다.
console.log(data.length);
console.log(data.phones.length);
둘 다 undefined
유효한 객체이지만 반환 합니다.
업데이트 :
JSON 객체 샘플이 반환되었습니다.
{"reqStatus":true,"phones":{"one":{"number":"XXXXXXXXXX","type":"mobile"},"two":{"number":"XXXXXXXXXX","type":"mobile"}}}
이런 식으로 사용할 수 있습니다
<script type="text/javascript">
var myObject = {'name':'Kasun', 'address':'columbo','age': '29'}
var count = Object.keys(myObject).length;
console.log(count);
</script>
문제는 객체가 연관 배열로 사용될 때도 객체가 배열과 동일하지 않기 때문에 전화 객체에 길이 속성이 없다는 것입니다 (귀하가 반환하는 JSON 어딘가에 정의하지 않는 한). 전화 객체가 배열이면 길이가 생깁니다. 두 가지 옵션이 있습니다.
'전화'가되도록 JSON 구조를 변경하십시오 (가능한 경우)
"phones":[{"number":"XXXXXXXXXX","type":"mobile"},{"number":"XXXXXXXXXX","type":"mobile"}]
(전화 번호가 0 인덱싱 된 배열로 반환되므로 전화 번호별로 식별자가 없습니다.) 이 응답에서
phones.length
유효합니다.휴대 전화 객체에 포함 된 객체를 반복하고 원하는대로 계산합니다 (예 :
var key, count = 0; for(key in data.phones) { if(data.phones.hasOwnProperty(key)) { count++; } }
새 브라우저 만 타겟팅하는 경우 옵션 2는 다음과 같습니다.
underscore.js 사용을 고려하십시오 . 다음과 같이 크기를 확인할 수 있습니다.
var data = {one : 1, two : 2, three : 3};
_.size(data);
//=> 3
_.keys(data);
//=> ["one", "two", "three"]
_.keys(data).length;
//=> 3
JSON 형식을 변경할 필요가 없습니다.
바꾸다:
console.log(data.phones.length);
와:
console.log( Object.keys( data.phones ).length ) ;
var json=[{"id":"431","code":"0.85.PSFR01215","price":"2457.77","volume":"23.0","total":"565.29"},{"id":"430","code":"0.85.PSFR00608","price":"1752.45","volume":"4.0","total":"70.1"},{"id":"429","code":"0.84.SMAB00060","price":"4147.5","volume":"2.0","total":"82.95"},{"id":"428","code":"0.84.SMAB00050","price":"4077.5","volume":"3.0","total":"122.32"}]
var obj = JSON.parse(json);
var length = Object.keys(obj).length; //you get length json result 4
이 시도
$.parseJSON(data).length
이것을 사용하십시오
//for getting length of object
int length = jsonObject.length();
또는
//for getting length of array
int length = jsonArray.length();
$(document).ready(function () {
$('#count_my_data').click(function () {
var count = 0;
while (true) {
try {
var v1 = mydata[count].TechnologyId.toString();
count = count + 1;
}
catch (e)
{ break; }
}
alert(count);
});
});
참고 URL : https://stackoverflow.com/questions/6756104/get-size-of-json-object
반응형
'Programing' 카테고리의 다른 글
파일을 복사 할 수 없습니다. 경로에 대한 액세스가 거부되었습니다 (0) | 2020.04.22 |
---|---|
jQuery로 scrollTop에 애니메이션을 적용 할 수 있습니까? (0) | 2020.04.22 |
OWIN 시작 클래스가 없습니다 (0) | 2020.04.22 |
UITableView에서 구분선을 제거하는 방법이 있습니까? (0) | 2020.04.22 |
Python dict를 데이터 프레임으로 변환 (0) | 2020.04.22 |