我的一个数据来源最近改变了他们向我提供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"的额外花括号包装器。围绕整个输出。
非常感谢
答案 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;
}