用PHP解析JSON

我正在尝试从Google购物API中提取数据。我能够成功下载数据,但是在使用PHP解析数据时遇到了麻烦。我仍在学习,但是我似乎在多维数组方面遇到问题。我使用捕获JSON $json = json_decode($data);。


以下只是呼应外部数组,但我不能从内部数组中提取:


foreach($json as $key => $value) {

  echo $key . " : " . $value;

}

如果我想获取每种产品的“标题”,“描述”,“品牌”和“可用性”,我将如何解析?


HUWWW
浏览 725回答 3
3回答

30秒到达战场

如果我是你,我会将JSON解析为数组而不是对象。这可以通过执行以下操作来完成:$json = json_decode($data, true);通过在json_decode中包含第二个参数(值为true),您将获得一个数组。然后,您可以执行以下操作:echo '<pre>';print_r($json);exit;这将使您对数据的数组结构以及如何访问所需的信息有所了解。例如,要提取每个项目的标题,品牌和描述,请执行以下操作:foreach($json['items'] as $item) {&nbsp; &nbsp; echo 'Title: ' . $item['product']['title'] . '<br />';&nbsp; &nbsp; echo 'Brand: ' . $item['product']['brand'] . '<br />';&nbsp; &nbsp; echo 'Description: ' . $item['product']['description'] . '<br />';}为了获得可用性,再次使用print_r()对阵列进行转储,并找出从阵列访问阵列的最佳方法。

慕婉清6462132

我们可以这样解析JSON Array,<?php$json = "[{\"name\":\"user1\",\"id\":\"940\"},{\"name\":\"user2\",\"id\":\"949\"}]";$dec = json_decode($json);for($idx = 0; $idx < count($dec); $idx++){&nbsp; &nbsp; $obj = (Array)$dec[$idx];&nbsp; &nbsp; echo $obj["name"];}?>和类似的JSON对象这样,<?php$json = "{\"name\":\"user1\",\"id\":\"940\"}";$dec = (Array)json_decode($json);echo $dec["name"];?>
打开App,查看更多内容
随时随地看视频慕课网APP