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

如何过滤Skinport API返回的JSON数据,筛选符合条件的条目?

过滤Skinport API返回的商品数据

核心思路很直接:先把API返回的JSON字符串转成程序可操作的数据结构(比如列表、字典),再按你的条件逐条筛选,最后把符合要求的条目存起来。下面用Python和JavaScript分别举例,你可以对应自己用的编程语言调整。

步骤1:解析JSON数据

不管用什么语言,第一步都是把API返回的JSON文本转成代码里能直接操作的对象。比如Python里用json.loads(),JavaScript里直接用JSON.parse()。

步骤2:按条件过滤(Python示例)

假设你已经通过API请求拿到了响应文本,先转成商品列表,再筛选:

import json

# 假设API返回的响应文本存在这里
response_text = "..."  # 你的API请求返回内容

# 转成Python列表,每个元素是单个商品的字典
products = json.loads(response_text)

# 定义你的过滤条件,可按需调整
target_hash_name = "AK-47 | Redline (Field-Tested)"  # 可选,留空则不过滤名称
min_price = 10.0  # 可选,设为None则不过滤价格

filtered_items = []
for product in products:
    # 检查名称是否匹配(如果指定了名称)
    name_ok = True
    if target_hash_name:
        name_ok = product.get("market_hash_name") == target_hash_name
    
    # 检查价格是否达标(如果指定了最低价格)
    price_ok = True
    if min_price is not None:
        # 注意:Skinport返回的price可能是字符串,要转成浮点数
        product_price = float(product.get("price", 0))
        price_ok = product_price >= min_price
    
    # 两个条件都满足才保留
    if name_ok and price_ok:
        # 提取你需要的信息,按需增减字段
        saved_info = {
            "商品名称": product["market_hash_name"],
            "价格": product_price,
            "商品链接": product["url"],
            "磨损度": product.get("wear_float")
        }
        filtered_items.append(saved_info)

步骤3:保存筛选结果

把筛选后的结果存成JSON文件,方便后续查看或使用:

# 写入本地JSON文件
with open("筛选后的Skinport商品.json", "w", encoding="utf-8") as f:
    json.dump(filtered_items, f, indent=2, ensure_ascii=False)

JavaScript示例(前端/Node.js)

如果用JS,逻辑差不多:

// 假设已拿到API返回的商品数组
const products = [...];

const targetHashName = "AK-47 | Redline (Field-Tested)";
const minPrice = 10.0;

const filteredProducts = products.filter(product => {
    const nameMatch = targetHashName ? product.market_hash_name === targetHashName : true;
    const priceMatch = minPrice !== null ? parseFloat(product.price) >= minPrice : true;
    return nameMatch && priceMatch;
});

// 转成JSON字符串保存或使用
const filteredJson = JSON.stringify(filteredProducts, null, 2);
// 比如在Node.js里写入文件
// fs.writeFileSync('filtered-items.json', filteredJson, 'utf8');

注意事项

  • 先打印一个商品条目确认字段名:比如Skinport返回的价格字段是price,市场名称是market_hash_name,别写错字段导致筛选失败
  • 价格字段可能是字符串类型,必须转成数字再做比较,否则会出现字符串比较的错误(比如"9" > "10"会返回true)
  • 如果要同时筛选多个商品名称,可以把target_hash_name改成数组,用product.get("market_hash_name") in ["名称1", "名称2"]判断
  • 若只需要单一条件(比如只过滤价格),直接把另一个条件的判断设为True即可

内容的提问来源于stack exchange,提问作者Dallin Kump

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 20:40:17