You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP调用Hypixel SkyBlock Bazaar API,按产品名称筛选JSON数据

从Hypixel SkyBlock Bazaar API筛选指定产品数据

以下是修改后的代码,可实现根据产品名称筛选并输出指定数据:

<?php
$ch = curl_init();
$url = "https://api.hypixel.net/skyblock/bazaar";

curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$resp = curl_exec($ch);

if ($e = curl_error($ch)) {
    echo $e;
} else {
    // 将JSON转为关联数组,更便于按键名访问数据
    $decoded = json_decode($resp, true);
    
    // 定义要筛选的目标产品ID(Hypixel Bazaar的产品ID为大写格式)
    $targetProduct = "DIAMOND";
    
    // 检查目标产品是否存在于返回数据中
    if (isset($decoded['products'][$targetProduct])) {
        // 输出指定产品的完整数据
        print_r($decoded['products'][$targetProduct]);
        
        // 若只需特定字段,比如当前售价,可直接提取
        // echo "当前售价: " . $decoded['products'][$targetProduct]['quick_status']['sellPrice'];
    } else {
        echo "指定产品不存在";
    }
}

curl_close($ch);
?>

关键说明:

  • 关联数组转换:使用json_decode($resp, true)将JSON转为关联数组,比默认的对象格式更适合直接按键名提取数据。
  • 产品ID格式:Hypixel Bazaar的产品ID均为大写字符串(如DIAMOND、ENCHANTED_GOLDEN_CARROT),需严格匹配才能正确筛选。
  • 精准字段提取:如果不需要完整产品数据,可直接访问子字段,比如quick_status下的sellPrice(当前售价)、buyPrice(当前收购价)等核心交易数据。
  • 批量筛选方案:若需筛选多个产品,可将目标产品ID存入数组,通过循环遍历输出:
$targetProducts = ["DIAMOND", "EMERALD", "ENCHANTED_DIAMOND"];
foreach ($targetProducts as $product) {
    if (isset($decoded['products'][$product])) {
        echo "<h3>$product</h3>";
        print_r($decoded['products'][$product]['quick_status']);
    }
}

内容的提问来源于stack exchange,提问作者Saurabh Magar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 16:01:17