0

我正在尝试做一些 CS: Global Offensive 清单以供个人体验。现在我不知道我应该如何显示库存中的所有项目。

库存 JSON

{
    "success":true,
    "rgInventory":{
            "1847345369":{
                    "id":"1847345369",
                    "classid":"638241994",
                    "instanceid":"188530139",
                    "amount":"1","pos":1
                    },
            "1844330224":{
                    "id":"1844330224",
                    "classid":"469444104",
                    "instanceid":"0",
                    "amount":"1","pos":2
                    }
    }
}

所以当我想要第一个项目的 id 时,我必须使用它

$item = $parsed_json->{'rgInventory'}->{'1847345369'}->id;

但是在 json 解析中使用 itemid 是愚蠢的。我怎样才能让它列出所有项目的 ID?

4

2 回答 2

0

使用数组而不是对象。

"rgInventory":[
    { "id":"1847345369", ...}, 
    { "id":"1844330224", ...}
]

然后使用索引来获取它([0]等等)

于 2015-03-14T12:35:48.663 回答
0

使用foreach()循环。

<?php

$items = array();

foreach($parsed_json->{'rgInventory'} as $key => $obj) {
    // $key now holds '1844330224' etc
    $items[] = $obj->id; // or re-use $key here ;-)
}

?>
于 2015-03-14T12:42:06.957 回答