我通过API解析来自API的xml响应。
$responseXML2 = curl_seasson($url['phemail']);
$xml2 = simplexml_load_string($responseXML2);
从xml获取值
$alltimeratio1 = $xml2->monitor['alltimeuptimeratio'];
您可以检查api here的xml格式响应。现在您可以在api响应中看到(检查附加链接),我获取alltimeuptimeratio的值,然后将其放入一个数组中,然后将其作为json_encode回显。 (参考下面的代码)
$array = array("ph" => array("phweb" => $status, "phemail" => $status2, "alltimeratio1" => $alltimeratio1));
echo json_encode($array);
假设我已经在上面的数组中存储了$ status和$ status2内容,并且当我在浏览器中运行它时得到的结果是。 (参考下面的代码)
{"ph":{"phweb":"boxup","phemail":"boxup","alltimeratio1":{"0":"99.73"}}}
我的问题是,为什么alltimeratio1是":{" 0":" 99.73}"?如果我试图回显$ alltimeratio1,我得到99.73没有0.有没有办法我只能在数组中存储99.73(没有0)?
我希望数组结构结果像这样
{"ph":{"phweb":"boxup","phemail":"boxup","alltimeratio1":"99.73"}}
任何帮助,想法,线索,建议和建议都将不胜感激。
答案 0 :(得分:0)
我不知道你是如何解析XML响应的,但它似乎被视为一个数组。这就是你得到{"0":"99.73"}
我尝试使用一个简单的脚本并且运行良好,所以我认为它解决了XML的问题。
$alltimeratio1 = "99.73";
$status = $status2 = "boxup";
$array = array("ph" => array("phweb" => $status, "phemail" => $status2, "alltimeratio1" => $alltimeratio1));
echo json_encode($array);
响应:
{"ph":{"phweb":"boxup","phemail":"boxup","alltimeratio1":"99.73"}}
答案 1 :(得分:0)
如果使用ajax解析返回响应,则可以通过识别youralltimeratio数组位置中的第二个数组键来访问该值。例如。
var thearray = new Array(result["ph"]["phweb"], result["ph"]["phemail"], result["ph"]["alltimeratio1"][0]);
或仅仅作为
var theValueOfTheAllTimeRatio = thearray[2];