Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/236.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Jquery:JSON更改路径的字符串_Php_Jquery_String_Json_Parsing - Fatal编程技术网

Php Jquery:JSON更改路径的字符串

Php Jquery:JSON更改路径的字符串,php,jquery,string,json,parsing,Php,Jquery,String,Json,Parsing,我试图从我的数据库中获取图像路径列表,并借助Jquery和Json triying将其添加到我的站点中。但我不知道为什么在php中使用json_encode`对字符串进行编码后,它会改变它的路径,并向我显示 [{"0":"user\/photogallery\/images\/members\/2\/2_1.jpg","src":"user\/photogallery\/images\/members\/2\/2_1.jpg"},{"0":"user\/photogallery\/images\

我试图从我的数据库中获取图像路径列表,并借助Jquery和Json triying将其添加到我的站点中。但我不知道为什么在php中使用json_encode`对字符串进行编码后,它会改变它的路径,并向我显示

[{"0":"user\/photogallery\/images\/members\/2\/2_1.jpg","src":"user\/photogallery\/images\/members\/2\/2_1.jpg"},{"0":"user\/photogallery\/images\/members\/2\/2_2.jpg","src":"user\/photogallery\/images\/members\/2\/2_2.jpg"}]
我只需要
user/photogallery/images/members/2/2_2.jpg
部件就可以创建新的
组件

这里是我的php代码和脚本

$member_id  = $GET['member_id'];
$files      = find_all_photos($member_id);

$encoded    = json_encode($files);
echo $encoded;
unset($encoded);

 function find_all_photos($id)
    {
      db_connect();

    $query = sprintf("SELECT src FROM photo_album_list WHERE user_id = '%s'", 
                           mysql_real_escape_string($id)); 

        $result = mysql_query($query);

        $result = db_result_to_array($result);

        return $result;
    }


    function db_result_to_array($result)
    {
        $res_array = array();

    for ($count=0;  $row = mysql_fetch_array($result); $count++)
    {
      $res_array[$count] = $row;
    }

        return $res_array;

    }
和脚本

$.get('photostack.php', {member_id:2} , function(data) {
                        console.log(data);
                        var items_count = data.length;
                        for(var i = 0; i < items_count; ++i){
                            var item_source = data[i];
                            var cnt         = 0;
                            $('<img />').load(function(){
                                var $image = $(this);
                                ++cnt;
                                resizeCenterImage($image);
                                $ps_container.append($image);
                                var r       = Math.floor(Math.random()*41)-20;
                                if(cnt < items_count){
                                    $image.css({
                                        '-moz-transform'    :'rotate('+r+'deg)',
                                        '-webkit-transform' :'rotate('+r+'deg)',
                                        'transform'         :'rotate('+r+'deg)'
                                    });
                                }
                                if(cnt == items_count){
                                    $loading.remove();
                                    $ps_container.show();
                                    $ps_close.show();
                                    $ps_overlay.show();
                                }
                            }).attr('src',item_source);
                        }
                    },'json');
$.get('photostack.php',{member_id:2},函数(数据){
控制台日志(数据);
var items_count=data.length;
对于(变量i=0;i$(“听起来你很担心在路径中的斜杠之前添加反斜杠。完全同意这很奇怪(没有必要在JSON字符串中“转义”斜杠),但在大多数符号中,转义一个不需要转义的字符是无害的,如果该字符没有特殊的转义含义。(也就是说,逃避
/
是无害的,即使它不需要它,但是逃避
n
显然不是无害的,即使它不是这个意思,因为
\n
意味着什么)


在我看来,对如何处理无效转义没有任何说明,但允许它们(忽略不必要的反斜杠),所以…(Crockford是JSON的发明者。)转义的反斜杠可能以这种方式存储在数据库中,因此您的JSON字符串只是逐字提取。如果要删除它们,您需要先处理从数据库返回的字符串,然后再返回
JSON_encode()比PHJQuery问题要多得多的PHP问题。我已经添加了PHP标签,你可以考虑删除jQuery。你是从服务器端得到它的吗?看看你的安慰可能的副本的回答是是重复的问题,但我也有一个问题。在我的路径中,它也创造了像“0”这样的东西。:“user\/photogallery\/images\/members\/2\/2\/u 1.jpg”,“src:“user\/photogallery\/images\/members\/2\/2\/u 1.jpg”为什么不仅是src?什么是0?它也重复。重复的原因可能是
mysql\u fetch\u array()
的结果被定义为mysql\u两者(默认值)。From-“使用mysql\u两者(默认值),您将得到一个同时具有关联索引和数字索引的数组。“