Я передаю JSON из javascript в PHP внутри ajax вопроса. Json это (напечатано из PHP, без json_decode):
[{"id":"440","step":"1","pass_rules":{"manual":false,"check_percent":true,"quiz":false,"list_element":["id1"]}},{"id":"438","step":"2","pass_rules":{"manual":false,"check_percent":true,"quiz":true,"list_element":["id1"]}}]
передается через ajax:
var formData = new FormData(this);
formData.append('array', JSON.stringify(fullArray));
$.ajax({
type: "POST",
url: URL_API + "/call_to_api",
data: formData,
cache: false,
contentType: false,
processData: false,
success: function (json) {
//code
}
})
Если получить массив таким способом из PHP, я могу напечатать json, как json поверх поста
$array = mysql_real_escape_string($_POST['array']);
json_decode не работает с элементом, и вывести пустой. Я не понимаю, почему!
ОБНОВЛЕНИЕ: массив передается внутри формы следующим образом:
array: [{"id":"441","step":"1","pass_rules":{"manual":false,"check_percent":true,"quiz":false,"list_video":[]}},{"id":"438","step":"3","pass_rules":{"manual":false,"check_percent":true,"quiz":true,"list_video":[]}}]
json_last_error () вызывается здесь:
$array= json_decode($_POST['array']);
json_last_error();
json_last_error возвращает 4, поэтому JSON_ERROR_SYNTAX ... но JSON кажется хорошим: /
UPDATE2: вывод var_dump:
string(388) "[{"id":"441","step":"1","pass_rules":{"manual":false,"check_percent":true,"quiz":false,"list_video":[]}},{"id":"438","step":"3","pass_rules":{"manual":false,"check_percent":true,"quiz":true,"list_video":[]}}]"