如何在php中检测字符串中的Json

时间:2012-11-13 08:20:15

标签: php arrays json

我遇到了一个问题,我有一个完整描述的字符串以及一个包含一些ID的json。如何将Json取出String并在其上执行任何事件..

我的数据如下所示

The description of xxxxxxxxxxxxxxxxxxxxxxxxxx
[{"id":"613"},{"id":"614"},{"id":"615"}]

有没有办法可以获得完整描述并且还有ID以便我可以解码它们并使用我想要的地方?

提前感谢您的支持

2 个答案:

答案 0 :(得分:1)

试试这个

$string = 'The description of xxxxxxxxxxxxxxxxxxxxxxxxxx    [{"id":"613"},{"id":"614"},{"id":"615"}] asdasd';

if(false !== preg_match('/\[(.*)\]/', $string, $matches)) {
    for($n = 1; $n < count($matches); $n++) {
        $json_result = json_decode('['.$matches[$n].']', true);
        if(null === $json_result) {
            //cannot parse json
        }
        print_r($json_result);
    }
}

答案 1 :(得分:0)

如果您的json在新行中,这将找到第一个具有JSON代码的LINE !!!

$string = 'The description of xxxxxxxxxxxxxxxxxxxxxxxxxx
[{"id":"613"},{"id":"614"},{"id":"615"}]';
$strings = explode("\n",$string);

foreach($strings as $str){
    $json = json_decode($str,TRUE); //TRUE for array responde
    if(!empty($json)){
       break;
    }
}

var_dump($json);