php json取值问题

{'code':200,'data':{
'vod_play_list':[{
'player_info':{
'parse2':'要取的值'
}
}

]

}
怎么用php取出parse2的值?

}

题主这个json字符串非标准格式,需要用到正则才行,替换为标准个时候在json_decode,参考:


示例代码如下

img

<meta charset="utf-8">
<?php

function getStandardJSONStr($json){
  $json = preg_replace( "/\s(?=\s)/","\\1", $json );// 多个空格只留一个
  $json = preg_replace( "/([\{\}\,]+)\s?'?\s?(\w*?)\s?'?\s?:\s?/", '\\1"\\2":', $json);// 转义key
  $json = preg_replace("/\"\s?:\'\s?(.*?)\'\s?([\,\]\}]+?)/",'":"\\1"\\2', $json);// 转义 value

  return $json;
}

$s="{'code':200,'data':{
'vod_play_list':[{
'player_info':{
'parse2':'要取的值'
}
}

]

}

}";
$s=getStandardJSONStr($s);



$o=json_decode($s);

echo $o->data->vod_play_list[0]->player_info->parse2;
?>

img

data.vod_play_list[0].player_info.parse2

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632