2011-07-26 94 views
-1

如何计算JSON对象中有多少个对象 我的代码是计数JSON节点

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

这里“JO”,与在该对象的jsonobeject某些数据有没有数据:

{ 
"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。 ,因为只有我可以迭代循环。

回答

0

如果您在询问如何定义对象中有多少个键,则应该使用Object.keys(json),它将返回一个包含所有自己的键的数组。然而,这是一个相当新的功能,并未在当前使用的所有浏览器中实现。没有Object.keys,你必须使用(for key in json)循环,用hasOwnProperty测试每个键。

顺便说一下,hasOwnProperty也可以在某些浏览器中无法实现。