2011-07-26 2 views
-1

내 코드는 객체와 jsonobeject 해당 데이터는계수의 JSON 노드

String json = IOUtils.toString(is); 
JSONObject jo = new JSONObject(json); 
다음

'조'가 일부 데이터가된다 :

{ 
"cargoDetails":[{ 
"noOfPackages":"2", 
"packType":"AUG", 
"uom":"LB", 
"packLength":"10", 
"actualWt":"5", 
"packHeight":"2", 
"packWidth":"4", 
"packDescription":"description", 
"currId":"1", 
"shipmentMode":"1"}, 
{"noOfPackages":"2", 
"packType":"BAG", 
"uom":"KG", 
"packLength":"10", 
"actualWt":"5", 
"packHeight":"2", 
"packWidth":"4", 
"packDescription":"description", 
"currId":"1", 
"shipmentMode":"1"}], 
"type":"air", 
"userId":"KOTESWAR", 
"customerId":"CUST00168", 
"contractId":"CONTRACT0000576", 
"originTerminalId":"FINBOM", 
"destinationTerminalId":"FINDEL", 
"ShipperId":"CUST00003", 
"serviceLevelId":"STD", 
"paymentTerms":"Prepaid", 
"terminalId":"FINBOM", 
"originDepartment":"AE", 
"destinationDepartment":"AI", 
"departurePort":"INBOM", 
"destinationPort":"BOM", 
"totalNoPcs":"4", 
"totalActualWt":"5", 
"totalVol":"10" 
} 

k는 cargodetails 객체 2 개를 보낼 수 있습니다. 나머지는 예약되었습니다. 내 질문은 얼마나 많은 객체가 jo에 있는지 찾는 방법입니다. 그 jo만으로 루프를 반복 할 수 있기 때문입니다.

답변

0

개체에있는 키 수를 정의하는 방법을 묻는 경우 Object.keys (json)를 사용해야합니다.이 키는 모든 키가있는 배열을 반환합니다. 그러나 이것은 오히려 새로운 기능이며 현재 사용중인 모든 브라우저에서 구현되지 않습니다. Object.keys가 없으면 (for key in json) 루프를 사용하여 각 키를 hasOwnProperty으로 테스트해야합니다.

그런데 hasOwnProperty는 일부 브라우저에서는 구현할 수 없습니다.