【问题标题】:how to get second level data from Stripe JSON object如何从 Stripe JSON 对象获取二级数据
【发布时间】:2015-07-18 07:15:23
【问题描述】:

我的函数能够检索 1 级数组数据,但不能在收费后的返回 JSON 字符串中检索 2 级。

else if(!empty($_SESSION['SESS_PLAN_BUY_CODE'])){
       $pcharge = \Stripe\Customer::create(array(
       "source" => $_POST['stripeToken'],
       "plan" => $_SESSION['SESS_PLAN_BUY_CODE'],
       "email" => $_SESSION["SESS_EMAIL"]
       ));
    echo "My customer id is: " . $pcharge->id;
    echo'<br>';
    $stuff = json_decode($pcharge->subscriptions);
    var_dump($stuff);

实际的 JSON 返回字符串: JSON

上面代码的输出是:

我的客户id 是:cus_6cvCQdpdhmQlGe NULL

预期输出:

我的客户id 是:cus_6cvCQdpdhmQlGe 1

我试过了:

$stuff = $pcharge->subscriptions[0];
$stuff = $pcharge->subscriptions['total_count'];
$stuff = json_decode($pcharge->subscriptions);

和几个循环 我收到NULL 或其他一些错误,表明程序员不知道他在做什么。

如何获取 Stripe JSON 返回字符串中的level 2level 3 数据?

【问题讨论】:

    标签: php json stripe-payments


    【解决方案1】:

    您无需调用json_decode(),Stripe API 会在内部完成所有解码。您只需要访问它返回的对象和数组。

    $pcharge = \Stripe\Customer::create(array(
        "source" => $_POST['stripeToken'],
        "plan" => $_SESSION['SESS_PLAN_BUY_CODE'],
        "email" => $_SESSION["SESS_EMAIL"]
    ));
    echo "My customer id is: " . $pcharge->id;
    echo'<br>';
    $stuff = $pcharge->subscriptions;
    echo "Subscription count is: " . count($stuff->data); // total_count isn't returned by default
    

    如果您想访问订阅,请使用$stuff-&gt;data[$i]

    【讨论】:

    • 我试过 -> echo "Subscription count is: " 。计数($stuff->total_count);和 -> echo "订阅数是:" 。计数($stuff->数据);和一些变化。我能得到的最好结果是零而不是 1。
    • 既然您刚刚创建了客户,还没有添加任何订阅,为什么您希望订阅列表中有任何内容?
    • 那么你回答错了问题。反过来搞砸了;)
    猜你喜欢
    • 2016-05-12
    • 2011-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多