我找到了许多有关问题的答案,但仍然无法实现我的目标。 我有一个API端点,该端点返回this:
我想读取API返回的所有数据。这是我的代码:
<?php
$xml=json_decode(json_encode(file_get_contents('http://ecarrefour.com/test/api/saveProducts.php')),true);
$val= $xml->availability;
echo $val;
?>
我遇到以下错误:
Trying to get property of non-object in C:\xampp\htdocs\work\index.php on line 4
任何帮助将不胜感激。
答案 0 :(得分:0)
我注意到您的代码存在一些问题:
第一个问题是传递给json_decode的true参数,该参数会将JSON解码为array和NOT对象。 json_decode默认解码为object,但是如果将true作为第二个参数传递,则会得到一个数组。
这就是为什么您收到错误消息的原因,因为在您的情况下$ xml是一个数组。
我要注意的另一个问题是API脚本的输出。该输出类似于print_r输出,这是不正确的。
这是您需要做的:
$xml = simplexml_load_string($xml_string);
应该可以解决问题。