使用php从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

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
        )

)