如何从JSON中显示用户清单

CSGO - How to display a users inventory from the JSON

本文关键字:用户 显示 JSON      更新时间:2023-09-26

我想做一个系统,得到一个用户的库存,然后显示为图像和名称。我只知道如何做JSON部分,我不确定下一步该做什么。

我现在只有:

http://steamcommunity.com/profiles/<PROFILEID>/inventory/json/753/1

有人能帮我把这些数据变成我正在寻找的吗?

首先-至少对于CS:GO -您正在寻找的URL是:

http://steamcommunity.com/profiles/<PROFILEID>/inventory/json/730/2

URL末尾的两个数字分别是app ID和context ID。《CS:GO》的应用ID是730,而大多数游戏的用户库存使用的是2。

从这个请求返回的JSON是一个格式如下的对象:

{
    "success": true,
    "rgInventory": { ... },
    "rgCurrency": { ... },
    "rgDescriptions": { ... },
    "more": false,
    "more_start": false
}

对于您所描述的用例(获取项目名称和图标),您可以忽略除rgDescriptions对象之外的所有内容。该对象为用户库存中的每个项目包含一个对象。对象键是将项目的classidinstanceid连接起来的结果,但这对您来说并不重要—您可以像处理任何其他对象一样迭代它。

您感兴趣的两个数据点是market_hash_name,这是项目的名称,和icon_url,这是显示实际图像所需的一部分。镜像的完整路径是https://steamcommunity-a.akamaihd.net/economy/image/{icon_url}。例如,这个链接加载图标的G3SG1 |极地迷彩在我的库存。

需要注意的一点是,market_hash_name包括磨损模式(例如,最小磨损,新出厂等)。如果您不需要这些,您可以直接使用对象中的name