带有base64参数的json_decode给出错误

时间:2014-03-20 00:47:03

标签: php json

问题是当其中一个值是Base 64编码的Image时,有时它会回显 JSON_ERROR_SYNTAX 。 我相信它可能与无效字符有关,但我是php的新手,无法在网络上找到任何信息。 此错误仅发生在某些图像上,其他图像正确回显,因此它与json格式无关,但在某些base 64加密时。

Json看起来像:

{" name":" testName"," description":" testDescription"," image":& #34; base64encodedImageHere"}

这是php收件人文件:

<?php 
header('Content-Type: application/json');


if (isset($_POST['ImageData'])){

    $data = $_POST['ImageData'];

    $imageData = json_decode($data,true);

    switch(json_last_error()) {
        case JSON_ERROR_NONE:
            echo ' - Sin errores';
        break;
        case JSON_ERROR_DEPTH:
            echo ' - Excedido tamaño máximo de la pila';
        break;
        case JSON_ERROR_STATE_MISMATCH:
            echo ' - Desbordamiento de buffer o los modos no coinciden';
        break;
        case JSON_ERROR_CTRL_CHAR:
            echo ' - Encontrado carácter de control no esperado';
        break;
        case JSON_ERROR_SYNTAX:
            echo ' - Error de sintaxis, JSON mal formado';
        break;
        case JSON_ERROR_UTF8:
            echo ' - Caracteres UTF-8 malformados, posiblemente están mal codificados';
        break;
        default:
            echo ' - Error desconocido';
        break;
    }

    foreach ($imageData as $k=>$v){
        echo $v; // etc.
    }



}else{

    echo "out of reach"
?>

&LT;&LT;&LT;&LT;编辑:&gt;&gt;&gt;&gt;对于那些要求真正的json的人来说,虽然客户输出仍然没有显示整体价值,但它比我可以粘贴的更大:

"name":"testName",
"description":"testDescription",
"image":"\/9j\/4AAQSkZJRgABAQAAAQABAAD\/2wBDAAIBAQEBAQIBAQECAgICAgQDAgICAgUEBAMEBgUGBgYF\nBgYGBwkIBgcJBwYGCAsICQoKCgoKBggLDAsKDAkKCgr\/2wBDAQICAgICAgUDAwUKBwYHCgoKCgoK\nCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgr\/wAARCAmQDMADASIA\nAhEBAxEB\/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL\/8QAtRAAAgEDAwIEAwUFBAQA\nAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3\nODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm\np6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6\/8QAHwEA\nAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL\/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx\nBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK\nU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3\nuLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6\/9oADAMBAAIRAxEAPwD8zZbi\n\/u38vyRGpPzOhBUAnj8qRUIwjTbh1IPBIpqXKW8LCJmCZ+YsuCSf0qezVpQ6mRmUfe8wEn6V+aU6\njcbH3SaQkenPFcQ380khUttiZfmIyeR+lSyQPA8xlMe+eMKzBwSADnt+HFOmlltnESSFip4ynbrU\nW24RpXuItqEfKF7DPJxVyg5MLuxFfW8cYzeFnAceUpY4bt\/n8atw20TK6CNtuBwqDpz+NQqSVk23\nBIk5CuoIUYxzxzUltGYrFh5rbwFAkLdRURpMhySQ0JPNPKtomwREq+T8ueo+nFKkLxhZUTzVDqNx\nIyQTgj6Cn2c3lW+JH3ooJKlfvE4x\/Wnq7gmK2mBKrkuFwO3r09atUkmZyb2ILR48hrlh8qkqVTg8\nH6+lWGE1xbNHHM3lSE7wWwrD0\/Gks4oJpN6ltw+ZwyjnjnHqaLeJViZrSQyIFOwEEZOaXIzO1yrB\nO9sXS1YmMkbXLZ29u9W7W8CljLGFQKQ7ovfPUZ\/Oqy25RiXkEhycIgzkfjUrRTg+c1ywbcPLDICB\n156dxTcYxHyjbmwFzcy+dEkgLYVoxgjrwKngvXgtTbBWJ3LkxnleAD+PGaSH7Sqb0gBYyEIAQRj1\npxht7aQvIdrk4wOpJH60o1GlqaQgre8QSgbEt43DygANK45fHc+\/arELFbP7HJgMZOWjIJ6\/oMEd\naSBFm4ZdpeQhmKgELil8uQuIYZfLRx8+AQOvQ+tVOo6pSjeVxzGORhH5GAHwxwevoaawZ5EaKNgp\nUh4icDJ4zn1FRTRspBj3bUJ+ZTlie2amjhZ5RJKzEgbCxA6gc\/4ZqIR11NFpuNtIDbQeXIm8oDu4\n+n4461I1usZG5lKgdS249Ovt9Kjjt0N3h5A8hXJ3HkD\/ABqUW6SyASAqQRuBJy3QfoO1EoKCug0t\ndEKJGInYREh8MGAxn\/PpTDOkk0bhWLFTjJHI561ZeFGUIQSS4KkHBLf4VFHam3AnLghm+YE4Oc9v\npWcXZcoJigYiZkh8rcGJUtnrU28QQeXO8EKEbjPLG0kkZ\/uqF\/hPcmorW6ikhAMrAElQxAyMHofx\np9paKxfz2ZHDZLlQFbnNPVklfULHESXcNyTKJBsdhgfTn1p3nebEd67QQVlUgcnHT0NSSRNdRFVm\nkVR95gc4pzRtBAS6b0TJdnHTp\/StYrlIUdBLe6m+0skYYlk4LHhgPftSKkluGkmaRsEZIkyWGMUu\n2WGMeZbkBh0Dc0GW3XcolSYBuquTjnofeqfvI0Ubaj\/tz3LR2sNuCig5z246\/TmmyIUbymfcGcFG\nUYXOKf8AZEkiNxbyMAcbolOCPb+tCRRS25hMuRGDkEglemD+tOMOREtvZFVLWZZWhup4pYdjFoNp\n3YPY9iP\/AK1TT263sis4YiPCgsCCB6cflR5W1nKqQrkZbnDkH17dKtYLoI3VicsVKMBk+n\/1\/rWk\nO5MoWTIhp6RBY49ww52qAC3XqTUdqI\/Nm\/ebiq4yWwWGelSzzXMdvutwGlLjIJA2r3P4ULEu5AF2\n4bI2fxjnn2rnxVFtmaIYUQOBGjKwIjCueGwCRUl6zTRG0LGMxKrfKuQT\/dFNENxdRAz2scRUkhkb\nIBH69DUj3zxRrG5QuQNpkXGR\/d4rnw9BQeoCRX1wts9kJFy4yjKPmwDyRnrj1qaJmfzZGtgoU\/Kz\n9CKgtnEJdvK3FWLKSSQBVmC7iZTErKoZckEcMf8APFdVZXCKuxttBPATOpHmxsWVjwTzxyOR\/wDq\nqN1hsZCYoAqn5lEZ\/i5J7ck\/1qeRpWt2jk80GVHIJHzRkkenAx070yd7iTbHLp6wqmcmJiwI45Oe\nhP8AU1zxg3sdC2Yy0EciO80e13GFWRckHHXP509bY3hZJWZmYlXJbKnjgfTHalFr9pGyJQjMS3zN\ngAetLFa3tswuLecSRs6u2fujIwBntWsaV43H0K01oVm8+5lC5bggYJOeKkgitFAhwFAJIAH3qlkj\nhZDbOoxEuchOSe5HfrTLe2dFWbcyuoI5PIX0NVKlaOgWugN6IZQqqDuJO5T0p5NuxcMhACjJWQjk\nnp9ajjOQ1wIwGCnKE9+Pf0p9tcsy5ttm0nLENjJrN010Ha2xOVW2k8tVfagw3y4yMHvTNjpvPyAk\nAxFOnWpHikgiDqG2uw3bWyQf8KZKz3dsZIHw6uAJJOD9KUfdVkZuKZBBcsk3kPtTe2HUjn6VPp1h\nbzRuyHaysQdwJ4pWtIJ4QZnG4DknGM470iXNxAu5VJ3LyAec9v8AGto2lAIx5YkkspZWtljIbn7w\n6L\/kVVBhyWRlJ2j52HHtVu3ZILYtMC9wV5lHJJxzVUQBkZXzhhyX4xntWkYWRd7BcKwYgyhwwAYb\nhuHvUttA0Dyb1UqVGDt6fT\/PepN8UdulvdFXk2As0cfJIHXI6801NqRLgklSWUK2AKyqR5o3GtUS\nJMkU38BJdSuBgBv8aFlUKylAzEnGPmJGOv0qKzuWmhF2J8RumVZxjnPX69qRVMBWBGLAkkkHB+ue\n30qIR5XqF7D7lWlRWS5wMKH45JBqRxCYWjMAwrYaQnrn196ZIFn3CGJH8zOWJG38vzNSs0ssyDhM\nOBKY0GWXB\/8A10q0UwsMi8qAbl+ZUJxt4APHbv8A\/XqfZCJY7oqWYnKHbgqfUY+tVZoLyGORZ\/Kf\nY3UjOV\/ocdqkgzdoEldwcDKg4FYYdKMriQxreC2lknggxluWC5Bzzn6mrUDXERFyjna6EEjr7imQ\np9nR087zdzjcM5x6fQVKWSCNY1bdvxmUH+HOR+tb1o3GRI8ALK8AJHzDAxn6USMPs5Rog8eSCBzx\n\/PpT76FDJEVYoCMOMdRg9KTyYo4na0VQ5cDY6nPT1z1rmotQEiGWCMWxOScqQG2gkGrGnx3fnKNo\nAyAzFccZotAkbsjoWDKfMIYkAAVH+8Ad4mZiWztBzt\/wrrjJ1IjWpJLD58beZuCghgXPXH+f0pVk\n+0wMZl3ISQ6zyHA4A3D\/AA6UxZ8xkjlmJxG3GPY0+aCe5t1a1CjYwLEnGR3x61DhYyaUkQ\/ZwzFF\nJWLO5Tg7QeOcfSrR "

0 个答案:

没有答案