我正在尝试创建一个非常简单的php脚本,它可以从JSON文件(数组?)中提取数据并将其回显到页面。可悲的是,在PHP方面,我是一个完全新手。
我的目标是将所有IP地址和相应的客户端版本转储到这样的输出中......
"127.0.0.1" "/Satoshi:0.9.1/"
"127.0.0.2" "/Satoshi:0.9.0/"
"127.0.0.3" "/Satoshi:0.9.0/"
"127.0.0.4" "/Satoshi:0.9.1/"
我可以获取转储所有数据的代码,但是我不知道如何在没有ip和客户端版本命名的情况下拉出ip和版本..如果这样甚至有意义的话?
这是代码。我需要什么来转储正确的数据?
<?php
$url = 'https://getaddr.bitnodes.io/nodes/1407675714.json';
$JSON = file_get_contents($url);
echo $JSON;
$data = json_decode($JSON);
var_dump($data);
?>
感谢您的帮助!
答案 0 :(得分:0)
将哈希数组转换为某些非命名实体之一没有多大意义。我想你只需要按照以下方式转储它:
foreach($data as $t)
{
echo("ip=".$t->ip." ua=".$t->ua);
}
答案 1 :(得分:0)
像
这样的东西<?php
$url = 'https://getaddr.bitnodes.io/nodes/1407675714.json';
$JSON = file_get_contents($url);
$data = json_decode($JSON);
$data = (array)$data; // cast from stdClass to array, as results have int keys
foreach($data['nodes'] as $results){
echo $results[0]. " ". $results[3]."<br />";
}
?>
答案 2 :(得分:0)
我认为没有理由投射到数组。只需处理返回的对象。这个也有要求的双引号。
<?php
$url = 'https://getaddr.bitnodes.io/nodes/1407675714.json';
$json = file_get_contents($url);
$data = json_decode($json);
foreach($data->nodes as $results){
echo "\"".$results[0]."\" \"".$results[3]."\"<br />";
}
?>