[英]get value from jsonp using php
我有如下的 jsonp
jsonp([
{"id":"HK\/HKD","bid":"40.14700","ask":"40.24300","high":"40.19500","low":"0.00000","vol":"0.03"},
{"id":"AUD\/JPY","bid":"58.69800","ask":"58.78200","high":"58.74000"}])
我正在尝试使用 json_decode 从中获取数据,但它对我来说效果不佳。 我想获得价值
HK/HKD called ask
和
AUD/JPY called ask
但我无法得到它。 让我知道是否有人可以帮助我得到它。 谢谢!
使用额外的jsonp(
和 closing )
,您需要在解码之前将它们剥离。 在解码之前只需使用substr()
删除它们......
$json = 'jsonp([
{"id":"HK\/HKD","bid":"40.14700","ask":"40.24300","high":"40.19500","low":"0.00000","vol":"0.03"},
{"id":"AUD\/JPY","bid":"58.69800","ask":"58.78200","high":"58.74000"}])';
$json = substr($json, 6, strlen($json)-7);
print_r(json_decode($json, true));
给...
Array
(
[0] => Array
(
[id] => HK/HKD
[bid] => 40.14700
[ask] => 40.24300
[high] => 40.19500
[low] => 0.00000
[vol] => 0.03
)
[1] => Array
(
[id] => AUD/JPY
[bid] => 58.69800
[ask] => 58.78200
[high] => 58.74000
)
)
更好的方法是尝试在数据源中删除这些部分。
<?php
$items = json_decode('[{"id":"HK\/HKD","bid":"40.14700","ask":"40.24300","high":"40.19500","low":"0.00000","vol":"0.03"},
{"id":"AUD\/JPY","bid":"58.69800","ask":"58.78200","high":"58.74000"}]');
foreach ($items as $item) {
var_dump($item->id);
}
这个对我有用。 你能试试这个吗?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.