使用 php 从 URL 获取 JSON 对象

Get JSON object from URL with php

提问人:Даниел Димитров 提问时间:12/23/2014 更新时间:12/23/2014 访问量:106

问:

我有来自url这个

[{"user_id":"3932131","username":"DanielDimitrov","count300":"1677134","count100":"239025","count50":"41207","playcount":"17730","ranked_score":"1413977663","total_score":"7355146958","pp_rank":"35848","level":"95.5852","pp_raw":"1582.26","accuracy":"97.88556671142578","count_rank_ss":"42","count_rank_s":"337","count_rank_a":"120","country":"BG","events":[]}]

我的PHP是这个

$json = file_get_contents('url');
    $obj = json_decode($json);
    echo $obj->user_id;
    echo 'Username: '.$obj['username'].'<br>';
    echo 'PP: '.(int)$obj['pp_raw'].'<br>';
    echo 'Level: '.(int)$obj['level'].'<br>';
    echo 'Play count: '.$obj['playcount'].'<br>';

我尝试从 url 中删除括号并运行代码,但我用括号得到它......我怎样才能删除它们?

PHP 的JSON格式

评论

0赞 EWit 12/23/2014
哪个括号?你想做什么?您遇到的确切错误是什么?

答:

0赞 Halcyon 12/23/2014 #1

$obj是一个具有 1 个元素的数组。

简短的解决办法是,先做。$obj = $obj[0]

然后你可以做等等。$obj["user_id"]

0赞 Eugen 12/23/2014 #2
<?php
$json = '[{"user_id":"3932131","username":"DanielDimitrov","count300":"1677134","count100":"239025","count50":"41207","playcount":"17730","ranked_score":"1413977663","total_score":"7355146958","pp_rank":"35848","level":"95.5852","pp_raw":"1582.26","accuracy":"97.88556671142578","count_rank_ss":"42","count_rank_s":"337","count_rank_a":"120","country":"BG","events":[]}]';
    $in = array("[{", "}]");
    $out = array("{", "}");
    $obj = json_decode(str_replace($in, $out, $json));
    echo $obj->user_id;
    echo 'Username: '.$obj->username.'<br>';
    echo 'PP: '.(int)$obj->pp_raw.'<br>';
    echo 'Level: '.(int)$obj->level.'<br>';
    echo 'Play count: '.$obj->playcount.'<br>';
?>