格式化/理解 Json 数据

Formatting/ Understanding Json Data

我有这个项目,我必须通过他们可用的网站从网站中提取数据 API,我对整个事情都是陌生的,到目前为止我能够完成的几乎是完美的,但我很难花时间了解数据,以便我对其进行样式设置或仅提取必要的部分。 这是我使用 GitHub 中的一些片段得出的结论 formatting

      //current URL of the Page. cart_update.php redirects back to this URL

$current_url = base64_encode($url="http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);



$headers = array(

'Content-Type: application/json',

);

$url = 'https://weedmaps.com/api/web/v1/listings/green-valley-medicinal/menu?show_unpublished=false&type=dispensary';

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, false);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$result = curl_exec($ch); 
curl_close($ch);
$menu_data = json_decode($result, true);
foreach($menu_data['categories'] as $menu_item){
echo '<h2>'.$menu_item['title'].'</h2>';
foreach ($menu_item['items'] as $item) {
   echo '<article class="col-md-12">';
      echo '<div class="col-sm-3 col-lg-7" id="gvm-items">';
      echo '<div class="col-md-3 col-lg-4">';
echo isset($item['image_url']) ? '<img id="gvm-ftrd-img" src="'.$item['image_url'].'">' : '<img src="images/Marijuana - Icon.png" id="gvm-ftrd-img">';
echo '</div>';
      echo '<div class="col-md-7">';
      echo '</div>';
      echo '<div>';
      echo '<h4>'.$item['name'].'</h4>';
      echo '</div>';
      echo '<div>'.$item['body'].'</div>';
      echo '</div>';
      echo '<div class="col-sm-3 col-lg-4 col-lg-offset-1" id="gvm-prices">';
     foreach($item['prices'] as $key => $cost){
                                    echo '<div class="menu-item-price">'
                                    .$key." : ".$cost.'&emsp;<i class=" data-toggle="tooltip" data-placement="right"></i>
                                    </div>';
                                }
      echo '</div>';
      echo '</article>';
      echo '<br>';
    }
    }
    ?>

所以我正在尝试做以下三件事,如果有任何帮助,我们将不胜感激:) 1- 获取格式图像中显示的价格,仅显示每克或每八分之一,并在数字(价格)前放置一个“$”符号。

2- 对于某些类别,它得到了错误的数据,我只想要如下图所示的价格 "pulling wrong data" pulling wrong data

3- 添加下拉选择器以选择要显示的类别。不重要,但会很棒,

它正在拉取价格的单位字段

P.S 我在 Dreamweaver

上使用 Bootstrap v3.3.4

干杯!

我认为以下代码适用于数字 1。 至于2,我不明白你在这里需要什么.. 至于3,我建议你使用DataTables

$current_url = base64_encode($url="http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);



$headers = array(

'Content-Type: application/json',

);

$url = 'https://weedmaps.com/api/web/v1/listings/green-valley-medicinal/menu?show_unpublished=false&type=dispensary';

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, false);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$result = curl_exec($ch); 
curl_close($ch);
$menu_data = json_decode($result, true);
foreach($menu_data['categories'] as $menu_item){
echo '<h2>'.$menu_item['title'].'</h2>';
foreach ($menu_item['items'] as $item) {
   echo '<article class="col-md-12">';
      echo '<div class="col-sm-3 col-lg-7" id="gvm-items">';
      echo '<div class="col-md-3 col-lg-4">';
echo isset($item['image_url']) ? '<img id="gvm-ftrd-img" src="'.$item['image_url'].'">' : '<img src="images/Marijuana - Icon.png" id="gvm-ftrd-img">';
echo '</div>';
      echo '<div class="col-md-7">';
      echo '</div>';
      echo '<div>';
      echo '<h4>'.$item['name'].'</h4>';
      echo '</div>';
      echo '<div>'.$item['body'].'</div>';
      echo '</div>';
      echo '<div class="col-sm-3 col-lg-4 col-lg-offset-1" id="gvm-prices">';
     foreach($item['prices'] as $key => $cost){
if($key == "gram" || $key == "eighth"){
                                    echo '<div class="menu-item-price">'
                                    .$key." : $".number_format($cost,2).'&emsp;<i class=" data-toggle="tooltip" data-placement="right"></i>
                                    </div>';
}
                                }
      echo '</div>';
      echo '</article>';
      echo '<br>';
    }
    }
    ?>