这里有人可以用php解码json帮助我吗?我正在尝试解码JSON API URL
这是我目前所拥有的:
$string = '
{
"username": "someusername",
"unconfirmed_reward": "0.08681793",
"send_threshold": "0.01000000",
"confirmed_reward": "0.02511418",
"workers":
{
"bitcoinjol.jason-laptop": {"last_share": 1307389634, "score": "0", "hashrate": 0, "shares": 0, "alive": false},
"bitcoinjol.david-laptop": {"last_share": 1307443495, "score": "1.7742", "hashrate": 24, "shares": 1, "alive": true},
"bitcoinjol.pierre-pc": {"last_share": 1307441804, "score": "0", "hashrate": 0, "shares": 0, "alive": true},
"bitcoinjol.testJol": {"last_share": 0, "score": "0", "hashrate": 0, "shares": 0, "alive": false}
},
"wallet": "asdasdjsadajdasjdsajasjdajdajs",
"estimated_reward": "0.00131061"
}';
$json_o = json_decode($string);
echo $json_o->username;
并打印出“ someusername”,但在尝试以下操作时我无法打印出来:
echo $json_o->workers->someusername.jason-laptop;
我认为是“.”或我使用的“-”无效?
我希望能够打印出每个工人,然后打印出waller,用户名和奖励等.
可以使用数组或这些对象.我也曾尝试用爆炸将“,”上的$String拆分,但也无法使其正常工作.
使用php 5.3和IIS 7.5运行Server 2008 R2
解决方法:
您可以使用Gumbo建议的大括号语法:
$json_o->workers->{"someusername.jason-laptop"}
但是,最好的方法(imo,为了保持一致性)是将结果对象用作关联数组:
$object = json_decode($string, true);
$object['workers']['bitcoinjol.jason-laptop']['last_share']; // 1307389634
标签:php,json,api,decode
来源: https://codeday.me/bug/20191009/1878220.html