使用php从jsonp获取值
我有如下的jsonp使用php从jsonp获取值,php,Php,我有如下的jsonp jsonp([ {"id":"HK\/HKD","bid":"40.14700","ask":"40.24300","high":"40.19500","low":"0.00000","vol":"0.03"}, {"id&qu
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_解码从中获取数据,但对我来说效果不佳。我想得到的价值
HK/HKD致电ask
及
但是我不能得到它。如果有人能帮我得到它,请告诉我。
谢谢 使用额外的jsonp(
和结束语)
,您需要在解码之前将其剥离。只需使用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
)
)
最好是尝试从数据源删除这些部分。json_decode有什么问题?它显示为空白,没有任何错误。您尝试解码的字符串是否实际包含jsonp(
一开始?@NigelRen是的,先生,我有一份粘贴的回复,上面写着jsonp。谢谢!工作正常,非常感谢先生!
$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
)
)