反序列化API返回对象(PHP / Ebay API)

时间:2010-06-01 16:55:51

标签: php api ebay

我一直在与Ebay api合作开展一个项目并且发现它很棒。然而,我现在发现了一个问题,更多与PHP有关。

当我从Ebay读取我的项目时,我在数据库中存储了一堆细节。目前,只是为了它真的,我序列化整个返回对象并将其存储在相关表中的数据库中。

我的想法是,当我显示我的信息时,如果我需要它,我会掌握所有细节。出现的问题是定价信息总是在子对象中。

[ConvertedAdjustmentAmount] => __PHP_Incomplete_Class Object
    (
        [__PHP_Incomplete_Class_Name] => eBayAmountType
        [_] => 0
        [currencyID] => USD
    )

正如您所看到的,当我反序列化我的对象时,我的狡猾计划违反了不完整的类问题。我检查了以下问题,但没有成功。

forcing access to __PHP_Incomplete_Class object properties

据我所知,主要问题在于价格类存储在Ebay api中,那么我该如何重新创建呢?

我一直在阅读此页面,http://uk3.php.net/manual/en/function.unserialize.php并试图弄明白,unserialize_callback_func我也想不通,所以任何帮助都会受到赞赏!

2 个答案:

答案 0 :(得分:0)

哪一段代码定义了这个类是无关紧要的。重要的是在反序列化对象时代码已加载。只要您在尝试反序列化现有API之前加载了eBay API(与获取对象时的方式相同),它就可以正常工作。

答案 1 :(得分:0)

如果您无权访问这些库,则需要在序列化数据之前处理这些信息。您可以将对象转换为stdClass,或者将其移动到您选择的类(可能是您控制的类)。根据您拥有的信息量或信息的深度,您还可以将其存储为数组。