Я использую jQuery ajax json для вызова 3-мерного массива PHP в Javascript.
массив PHP выглядит так:
$rate[0][1]['name'] = 'guff';
$rate[0][1]['value'] = 'puff';
$rate[0][2]['name'] = 'guff';
$rate[0][2]['value'] = 'puff';
$rate[0][3]['name'] = 'guff';
$rate[0][3]['value'] = 'puff';
$rate[1][1]['name'] = 'guff';
$rate[1][1]['value'] = 'puff';
$rate[1][2]['name'] = 'guff';
$rate[1][2]['value'] = 'puff';
Я пытаюсь найти длину вложенных массивов, например, rate[1].length
когда я получаю это от вызова jjery ajax:
$.ajax({
type: 'post',
url: 'ajax_load_rates.php',
data: 'trip_type='+$('#trip_type').val(),
dataType: "json",
success: function(dat) {
rates = dat;
}});
jQuery, похоже, конвертирует внешний массив, поэтому rates.length
дает мне значение. Но не конвертирует вложенные массивы, поэтому rates[9].length
не определено
Я попытался перебрать массив, чтобы преобразовать его вручную:
$(rates).each(function(i) {
rates[i] = jQuery.makeArray($(this));
console.log(rates[i].length);
});
Но я получаю значения 1, когда знаю, что есть нагрузки.
здесь образец строки json:
[{"1":{"name":"Single-trip base loading","value":"10","default":"0"},"2":{"name":"Multi-trip base loading","value":"50","default":"0"}},{"1":{"name":"City break","value":"70","default":"0"},"2":{"name":"Sun and sand","value":"75","default":"0"},"3":{"name":"Backpacker","value":"90","default":"0"},"4":{"name":"Horse riding","value":"120","default":"0"},"5":{"name":"Safari","value":"80","default":"0"},"6":{"name":"Golf","value":"85","default":"0"},"7":{"name":"Surf and sail","value":"140","default":"0"},"8":{"name":"Road runner","value":"130","default":"0"},"9":{"name":"Flotilla","value":"150","default":"0"},"10":{"name":"Offshore sailor","value":"200","default":"0"},"11":{"name":"Kite surfer","value":"300","default":"0"}}]
Любые идеи, помощь будет здорово. Я совершенно новичок в json / ajax / jQuery. Вы могли бы узнать по моему коду.
ура
грабят.