无法将json输出到php

时间:2017-03-01 05:10:08

标签: php json

我的一个数据来源最近改变了他们向我提供json文件的方式,他们在实际输出之前添加了一些内容,而且我无法在目标网页上显示这些值。

旧json输出

string(6596) "[{"id":239,"solution_id":3486," etc...

新的json输出

string(6614) "{"picker_offers":[{"id":239,"solution_id":3486," etc...

对于我的目标网页,我使用以下内容:

$datastream = json_decode($result);
foreach($datastream as $component) {

$productid = $component->id;

我能够从他们的旧输出成功地将数据输出到php,但我不知道如何绕过价值" picker_offers"这是作为json文件的一部分传递的,但它不是要输出的实际数据的一部分。

我怎么能不包括" picker_offers",或者我能做些什么才能读取数据?有了这个新的输出,就会有一个名为" picker_offers"的额外花括号包装器。围绕整个输出。

非常感谢

1 个答案:

答案 0 :(得分:1)

解决方案1:如果您要删除 picker_offers

$datastream = json_decode($result);
$picker_offers = $datastream->picker_offers;
unset($datastream->picker_offers);
$datastream = $picker_offers;
foreach($datastream as $component) {
   $productid = $component->id;
}

解决方案2:如果您不想删除 picker_offers

$datastream = json_decode($result);
foreach($datastream->picker_offers as $component) {
  $productid = $component->id;
}