У меня есть двумерный массив объектов, как так:JSON_decode двухмерный массив объектов?
function test(n){
this.id = n;
}
var testArray= new Array(2);
for(i = 0; i < testArray.length; i++){
testArray[i] = new Array(2);
for(j = 0; j < testArray[i].length; j++){
testArray[i][j] = new test((2*i)+j);
}
}
Я тогда stringify его размещать с помощью AJAX так:
var data = {testA: {testB: testArray[0], testC: testArray[1]}}
var text = JSON.stringify(data);
После того, как я выполняю JQuery AJAX вызов:
$.post("test.php",text,function(data){
alert(data);
});
Я не могу понять, как декодировать и использовать этот объект на стороне PHP, до сих пор я пробовал что-то вроде этого:
<?php
$data = json_decode($_POST);
if($data == null){
echo "fail";
} else {
echo $data;
}
?>
Но я получаю сообщение об ошибке, которое говорит, что ожидает строку, и я передаю ей массив. Я также пробовал что-то вроде
$data = json_decode($_POST['testA']);
, а затем ошибка не появляется, но вместо этого она всегда выводит «сбой».
Кто-нибудь знает, что мне нужно сделать на стороне PHP, чтобы получить доступ к данным?
Я просто попытался разместить данные непосредственно, и когда я называю $ данных = json_decode ($ _POST [ 'Testa']); Я все еще вижу ошибку, когда он говорит, что ожидает строку – Dashiamo
В моем ответе нет json_decode, так как $ _POST ['testA'] уже является массивом. – Jeroen
Ах, моя ошибка, хорошо, что сейчас работает. Большое спасибо :) Я понимаю, что мне не нужно строгать данные, поскольку я уже вручную помещаю их в формат JSON. Итак, я раньше стягивал объект JSON? – Dashiamo