CSGO - 如何显示JSON中的用户清单

时间:2016-09-02 11:39:14

标签: javascript json steam steam-web-api

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

目前我只有:

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

有人能帮助我将数据转换成我想要的数据吗?

1 个答案:

答案 0 :(得分:1)

首先关闭 - 对于CS:GO,至少 - 您要查找的网址是:

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

URL末尾的两个数字分别指代应用程序ID和上下文ID。 CS:GO的应用ID为730,大多数游戏的上下文ID为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}。例如,this link加载G3SG1 |的图标极地迷彩在我的库存中。

需要注意的一点是market_hash_name包括磨损模式(例如,Minimal Wear,Factory New等)。如果您不需要,可以使用对象中的name