PHP中的JSON解码无效

时间:2016-08-11 20:55:23

标签: php json parsing

我写了一个脚本来登录PHP的另一个网站 当我登录时,页面返回一个JSON响应,其中有一个URL 在该url中有一个我想要存储在PHP变量

中的会话参数

响应如下:

{
    status:{
        err_code:0,
        err_text:""
    },
    url:"https://example.com/foo/bar?parameter=1&ID=54SomeCasualLettersAndNumbersWithAT@&otherparam=blah2"
}

我试图解析JSON,但格式无效,现在我不知道该怎么做..
计算响应的字符并获得我需要的指定字符是一个好主意吗?
它们形成了第112到第123个

2 个答案:

答案 0 :(得分:1)

你可以去:

<?php

$string = <<<DATA
{
    status:{
        err_code:0,
        err_text:""
    },
    url:"https://example.com/foo/bar?parameter=1&ID=54SomeCasualLettersAndNumbersWithAT@&otherparam=blah2"
}
DATA;

$regex = '~url:"([^"]+)"~';
preg_match($regex, $string, $match);
print_r($match);
?>

网址将位于$match[1]

答案 1 :(得分:0)

该响应是错误的JSON,更像是一个javascript对象。您应该能够使用JSON5解析器来获取所需的数据。这是我在Packagist中找到的一个:

https://packagist.org/packages/hiroto-k/json5-php

希望有所帮助。