이 같은 서버에서 JSON 재고 inventory.json
가 : 여기구문 분석하는 방법 JSON 데이터를 더 빠르게
[ { "body" : "SUV",
"color" : { "ext" : "White diamond pearl",
"int" : "Taupe"
},
"id" : "276181",
"make" : "Acura",
"miles" : 35949,
"model" : "RDX",
"pic" : [ { "full" : "http://images1.dealercp.com/90961/000JNBD/001_0292.jpg" } ],
"power" : { "drive" : "Front wheel drive",
"eng" : "2.3L DOHC PGM-FI 16-VALVE",
"trans" : "Automatic"
},
"price" : { "net" : 29488 },
"stock" : "6942",
"trim" : "AWD 4dr Tech Pkg SUV",
"vin" : "5J8TB2H53BA000334",
"year" : 2011
},
{ "body" : "Sedan",
"color" : { "ext" : "Premium white pearl",
"int" : "Taupe"
},
"id" : "275622",
"make" : "Acura",
"miles" : 40923,
"model" : "TSX",
"pic" : [ { "full" : "http://images1.dealercp.com/90961/000JMC6/001_1765.jpg" } ],
"power" : { "drive" : "Front wheel drive",
"eng" : "2.4L L4 MPI DOHC 16V",
"trans" : "Automatic"
},
"price" : { "net" : 22288 },
"stock" : "6945",
"trim" : "4dr Sdn I4 Auto Sedan",
"vin" : "JH4CU2F66AC011933",
"year" : 2010
} ]
이 같은 거의 5000
인덱스가 있습니다,이 인덱스됩니다. 이 문제 됐었하고있다
var url = "inventory/inventory.json";
$.getJSON(url, function(data){
$.each(data, function(index, item){ //straight-forward loop
if(item.year == 2012) {
$('#desc').append(item.make + ' ' + item.model + ' ' + '<br/>' + item.price.net + '<br/>' + item.pic[0].full);
}
});
});
가 5000 개 인덱스가 이미하고 날마다 증가하는 것 같은이 검색 및 가져 오는 프로세스가 조금 느린 점이다 : 는이 같은이 JSON을 구문 분석. 그것은 데이터와 정상적인 brute-force method
을 구문 분석하는 직선 루프입니다.
이제 더 빨리 구문 분석 할 수있는 방법이 있는지 알고 싶습니다. 정방향 루프 대신 더 빠른 방법으로 구문 분석 할 수 있습니까?
데이터를 1 년 단위로 정리하십시오. 그런 다음 불필요한 항목을 반복하지 않고'data [2012]'를 수행하고 2012에 대한 모든 항목을 가져올 수 있습니다. – Blender
브라우저로 전송되는 데이터의 양을 줄입니다. Ajax를 사용하여 필요할 수있는 모든 것을 검색하는 대신 필요한 정보 만 동적으로 요청하십시오. –