PHP中的Foreach项JSON解码?

时间:2015-03-14 12:32:35

标签: php json steam steam-web-api

我正在尝试做一些CS:全球攻势库存清单以获取个人经验。现在我不知道如何显示清单中的所有项目。

清单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是愚蠢的。我怎么能把它列出所有项目'编号

2 个答案:

答案 0 :(得分:0)

使用数组而不是对象。

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

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

答案 1 :(得分: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 ;-)
}

?>