将json输出到php时出现问题

将json输出到php时出现问题,php,json,Php,Json,我的一个数据源最近改变了他们向我提供json文件的方式,他们在实际输出之前添加了一些内容,我很难在登录页上显示这些值 旧json输出 string(6596) "[{"id":239,"solution_id":3486," etc... string(6614) "{"picker_offers":[{"id":239,"solution_id":3486," etc... 新的json输出 string(6596) "[{"id":239,"solution_id":3486," etc

我的一个数据源最近改变了他们向我提供json文件的方式,他们在实际输出之前添加了一些内容,我很难在登录页上显示这些值

旧json输出

string(6596) "[{"id":239,"solution_id":3486," etc...
string(6614) "{"picker_offers":[{"id":239,"solution_id":3486," etc...
新的json输出

string(6596) "[{"id":239,"solution_id":3486," etc...
string(6614) "{"picker_offers":[{"id":239,"solution_id":3486," etc...
对于我的登录页,我使用以下内容:

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

$productid = $component->id;
我能够从旧输出成功地将数据输出到php,但我不确定如何绕过作为json文件一部分传递的“picker_提供”值,但它不是要输出的实际数据的一部分

我怎么能不包括“picker_提供的”,或者我能做些什么来读取数据?对于这个新输出,在整个输出周围有一个额外的花括号包装器,名为“picker_offers”


非常感谢

解决方案1:如果您想删除picker\u提供的服务

$datastream = json_decode($result);
$picker_offers = $datastream->picker_offers;
unset($datastream->picker_offers);
$datastream = $picker_offers;
foreach($datastream as $component) {
   $productid = $component->id;
}
$datastream = json_decode($result);
foreach($datastream->picker_offers as $component) {
  $productid = $component->id;
}
解决方案2:如果您不想删除picker\u提供的服务

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

可能重复显示您想要解码并在php中使用的新json值…例如,如果我只想输出“id”,我的代码如下:$productid=$component->id;-我是否需要做一些不同的事情来解释额外的包装“picker_提供”?谢谢!这非常有效,我真的很感激