试图从php中的非对象响应中获取价值

时间:2020-08-17 12:22:15

标签: php json string

我想在Veeam中获取最后输入的公司名称的实例ID,并将其保存在我的数据库中

我将Curl用于静态APi。

以下代码获取响应并将其解码

$response = curl_exec($curl);
$json = $response;
$json_output = json_decode($json, true);
echo '<pre>';
print_r($json_output); 

如果响应低于

Array
(
    [meta] => Array
        (
            [pagingInfo] => Array
                (
                    [total] => 7
                    [count] => 7
                    [offset] => 0
                )

        )

    [data] => Array
        (
            [0] => Array
                (
                    [instanceUid] => 0aa2db5f-3450-4c30-8074-c215ca509475
                    [name] => Jerome_Company
                    [status] => active
                    [resellerUid] => 
                    [subscriptionPlanUid] => a8078b36-c29b-40db-90f5-4960a05fff1e
                    [permissions] => Array
                        (
                        )

                )

              

            [5] => Array
                (
                    [instanceUid] => ebcd92e9-bb13-4ea0-87c4-175bc7b5ab1f
                    [name] => Xoagub
                    [status] => active
                    [resellerUid] => 
                    [subscriptionPlanUid] => a8078b36-c29b-40db-90f5-4960a05fff1e
                    [permissions] => Array
                        (
                        )

                )

            [6] => Array
                (
                    [instanceUid] => 1325d332-b7d9-4960-9004-0b7ca335078e
                    [name] => Gmail
                    [status] => creating
                    [resellerUid] => 
                    [subscriptionPlanUid] => a8078b36-c29b-40db-90f5-4960a05fff1e
                    [permissions] => Array
                        (
                        )

                )

        )

)

有什么方法可以获取上次输入的公司的instanceUid吗?

1 个答案:

答案 0 :(得分:0)

获取data的最后一个条目,然后获取instanceUid

echo end($json_output['data'])['instanceUid'];

但是除非您尝试将诸如$json_output->data之类的东西作为对象来访问,否则您不应该在任何地方都得到试图从非对象中获取价值;这将不起作用,因为您已经将true传递到json_encode的数组中解码了。