2014-02-20 3 views
0

Я новичок в JSON, из моего собственного проекта мне нужно отправить массив объектов на сервер. В принципе, у меня есть объект Question, который имеет пару свойств, таких как question, optionA, optionB и т. Д. У меня есть массив объектов Question.JSON Stringify - PHP json_decode

пример:

qArray = new Array(); 
qArray.push(new Question("where do you live?", "England", "ıtaly", "Usa"); 

Я добавляю много вопросов объекты в массив и в конце концов, мне нужно отправить этот массив на сервер, например:

$.post("backend-stuff/aj-save-test.php", { testName : $("#testName").val().toString(), 'questions' : JSON.stringify(qArray)}, function(result){ 
     alert(result); 
    }); 
} 

В PHP, я использую это,

$questions = json_decode($_POST["questions"]); 
$testName = $_POST["testName"]; 

Проблема заключается в том, что я не могу прочитать данные, либо я посылаю его в неправильном направлении, или что сонате ng находится на стороне php.

Спасибо за ответы, я проверил Google перед отправкой вопроса, поэтому, пожалуйста, простите меня, если это так просто, но для меня это не так.

+0

Какое сообщение об ошибке? Что такое 'var_dump ($ questions);'? –

+0

Я не уверен, но если я хорошо помню, вам не нужно использовать json_decode здесь, так как вы уже передаете структуру массива, так что вы можете манипулировать $ вопросами в виде структуры массива php – Nuxy

+0

Нет. PHP does not_not_ обнаружить это как JSON и расшифровать его для вас. –

ответ

1

Чтобы преобразовать stdClassObject в массив, зарегистрируйтесь get_object_vars().

+0

Это именно то, что я сделал, прототип моего объекта-конструктора именно так. Я только получаю «Массив», когда пытаюсь предупредить, и я думаю, потому что я использовал echo not print_r. Но спасибо, за то, что помогли мне. – msharpp

+0

Нет проблем. Вы правы в том, что тогда вы захотите взять эти данные из своего массива, дезинформировать и проверить его, а затем ввести в свою базу данных. – gordoncarroll

Смежные вопросы