Почему мой массив выдает ошибку: вызов неопределенного метода stdClass для функции после кодирования/декодирования json?Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Почему мой массив выдает ошибку: вызов неопределенного метода stdClass для функции после кодирования/декодирования json?

Сообщение Anonymous »

Я работаю над объектом, который хочу отправить другому PHP-скрипту через Ajax для выполнения функции lire()
Итак, чтобы отправить этот объект под названием Caddie, Я json_encode его, а затем в своем PHP-скрипте json_decode его, чтобы вызвать его с помощью функции lire.
Но после того, как он декодирован, функция для вызова моего объекта выдает мне ошибку

Ошибка: вызов неопределенного метода stdClass::lire()

Вот объект:

Код: Выделить всё

object(stdClass)[14]
public 'id_client' => string 'ej52e59atvl4hdeu0srqatkl1b' (length=26)
public 'lignes' =>
array (size=1)
0 =>
object(stdClass)[12]
public 'id' => string '130' (length=3)
public 'id_produit' => string '1010' (length=4)
public 'reference' => string '' (length=0)
public 'url_produit' => string 'deontologie-de-lagent-immobilier' (length=32)
public 'article' => string 'Déontologie de l'agent immobilier' (length=34)
public 'quantite' => string '1.000' (length=5)
public 'prix_TTC' => string '25.00' (length=5)
public 'prix_HT' => string '25.00' (length=5)
public 'prix_TVA' => int 0
public 'taux_TVA' => null
public 'montant_ligne_HT' => int 25
public 'montant_ligne_TTC' => int 25
public 'montant_ligne_TVA' => int 0
public 'infos' =>
object(stdClass)[15]
public 'nb' => int 1
public 'reste' => int 0
public 'poids_total' => int 0
public 'total_TTC' => int 25
public 'total_HT' => int 25
public 'total_TVA' => int 0
public 'montant_TTC' => int 25
public 'montant_HT' => int 25
public 'montant_TVA' => int 0
public 'remise_code_promo_TTC' => int 0
public 'remise_code_promo_HT' => int 0
public 'remise_code_promo_TVA' => int 0
public 'fdp_TTC' => int 0
public 'fdp_HT' => int 0
public 'fdp_TVA' => int 0
public 'id_pays' => boolean false
public 'id_mode_transport' => boolean false
public 'id_code_promo' => int 0
public 'code_promo' => boolean false
public 'remise_code_promo' => int 0
public 'type_remise_code_promo' => int 0
А вот упрощенный процесс на PHP без ajax, чтобы воспроизвести проблему:
Здесь я беру исходный объект, чтобы использовать мою функцию lire( )

Код: Выделить всё

function bouton_paypal_checkout($Caddie) {
while ($row = $Caddie->lire()) {
// Traitement de $row
print_r($row); // Pour afficher les données, par exemple
}
}
Который печатает правильные строки из моего объекта с помощью функции lire:

Array ( [id] => 130 [id_produit] => 1010 [ссылка] => [url_produit]
=> deontologie-de-lagent-immobilier [статья] => Deontologie de l'agent immobilier [количество] => 1.000 [prix_TTC] => 25,00 [prix_HT]
=> 25,00 [prix_TVA] => 0 [taux_TVA] => [montant_ligne_HT] => 25 [montant_ligne_TTC] => 25 [montant_ligne_TVA] => 0 )

Но теперь, чтобы воспроизвести явление ошибки, я пытаюсь закодировать, а затем декодировать объект, так же, как я бы сделал с Ajax:

Код: Выделить всё

function bouton_paypal_checkout($Caddie) {
// Encoder l'objet Caddie en JSON
$Caddie_ajax = json_encode($Caddie);
// Décoder le JSON en objet (pas de true ici)
$Caddie_arr = json_decode($Caddie_ajax);
while ($row = $Caddie_arr->lire()) {
// Traitement de $row
print_r($row); // Pour afficher les données, par exemple
}
}
И появляется ошибка «Неперехваченная ошибка: вызов неопределенного метода stdClass::lire()».
Почему мой объект больше не доступен для чтения? Есть ли альтернатива кодированию/декодированию json, которую я мог бы использовать для отправки данных через Ajax без повреждения моего объекта?

Подробнее здесь: https://stackoverflow.com/questions/790 ... function-a
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»