jq数组跟字符串转换

function encode($array)
{
        if(version_compare(PHP_VERSION,'5.4.0','<')){
        $str = json_encode($array);
        $str = preg_replace_callback("#\\\u([0-9a-f]{4})#i",function($matchs){
           return iconv('UCS-2BE', 'UTF-8', pack('H4', $matchs[1]));
        },$str);
        return $str;
        }else{
        return json_encode($array, JSON_UNESCAPED_UNICODE);
        }
}

这是转换中文的函数;
https://img2.mukewang.com/5c8f3de90001056506270223.jpg
我从数据库中查出数据然后转为json格式,
这是html中js;

 function test(){
        var id = $(".father option:selected").val();
        $.ajax({
            url: 'regulation_type.php',
            type: 'post',
            data: {id:id , act:'ajax'},
            success:function(msg){
                //var str = '{"id":"2","title":"刑法的任务","parent_id":"1","chapter":"第一章"}';
                //obj = JSON.parse(str);
                console.log(msg);
                str = msg.replace('[{','{');
                str_1 = msg.replace('}]','}');
                console.log(str_1);

直接输出msg,得到[{"id":"2","title":"刑法的任务","parent_id":"1","chapter":"第一章"}],外面套了个[],我以为是数组,用typeof看了下是字符串,obj = JSON.parse(json);输出obj.id没有值,然后单独写了{"id":"2","title":"刑法的任务","parent_id":"1","chapter":"第一章"};用obj = JSON.parse(json);输出obj.id有值,然后就想着把外面的[]去掉,可是怎么去都去不掉,str = msg.replace('[{','{');str_1 = msg.replace('}]','}');右边的可以去掉,可是左边的一直去不掉,有没有哪个大神知道原因的,求解,在线等!

当年话下
浏览 743回答 2
2回答

至尊宝的传说

那你当数组取不就好了 返回的数组 以后返回多项删除[]就不能正确parse了啊
打开App,查看更多内容
随时随地看视频慕课网APP