base64 json_解码问题-php

base64 json_解码问题-php,php,mysql,json,Php,Mysql,Json,从mysql获取BLOB $sql = "SELECT data as datajson FROM tablename"; $res=$obj->_executeQuery($sql); $res=$obj->getAll($res); $blobdata = $res[0]['datajson']; BLOB中的json数据如下所示 [{"name":"propose","value":"Propose~sample"}, {"name":"expenseamount","v

从mysql获取BLOB

$sql = "SELECT data as datajson FROM tablename";

$res=$obj->_executeQuery($sql);
$res=$obj->getAll($res);

$blobdata = $res[0]['datajson'];
BLOB中的json数据如下所示

[{"name":"propose","value":"Propose~sample"},
{"name":"expenseamount","value":"Expense Amount~15246"},
{"name":"paymenttype","value":"Payment Type~    Cash"},
{"name":"img0","value":"/9j/4AAQSkZHIjks........61A/3qBo/9k="},
{"name":"img1","value":"NO"}]
现在

这对是包含在我的BLOB中的一个base 64字符串。当我解码时,
json_($blobdata)我得到
null

确切的base64字符串可以在中找到

我添加了
json_last_error()在我的代码中

switch (json_last_error()) {
        case JSON_ERROR_NONE:
            echo ' - No errors';
        break;
        case JSON_ERROR_DEPTH:
            echo ' - Maximum stack depth exceeded';
        break;
        case JSON_ERROR_STATE_MISMATCH:
            echo ' - Underflow or the modes mismatch';
        break;
        case JSON_ERROR_CTRL_CHAR:
            echo ' - Unexpected control character found';
        break;
        case JSON_ERROR_SYNTAX:
            echo ' - Syntax error, malformed JSON';
        break;
        case JSON_ERROR_UTF8:
            echo ' - Malformed UTF-8 characters, possibly incorrectly encoded';
        break;
        default:
            echo ' - Unknown error';
        break;
    }
返回-语法错误、格式错误的JSON和 json_解码不起作用,因为这不是一个正确的json

我想要img0和img1以外的详细信息

一,。现在,我如何在json_解码之前删除最后两对(img0,img1),使其成为有效的json

二,。或者如何将base64字符串转换为正确的json

更新

这就是BLOB数据在mysql中的存储方式

foreach($_REQUEST as $key=>$value) 
{
    $raw_data[] = array('name' => $key, 'value' => $value);
}
$json = json_encode($raw_data);
$sql="INSERT INTO tablename (data) VALUES ('$json')";

请共享一部分代码,将您的图像转换为base64并保存为blobIdeally。如果我们能够看到导致问题的完整JSON字符串,找出它导致问题的原因,这将非常有用。@yergo我已经给出了更新。@Jon,基本上,我对包含base64字符串的img0和img1有一个问题您为什么要对base64编码的字符串进行解码
json_decode
用于解码json编码的字符串,而不是base64编码的字符串。
foreach($_REQUEST as $key=>$value) 
{
    $raw_data[] = array('name' => $key, 'value' => $value);
}
$json = json_encode($raw_data);
$sql="INSERT INTO tablename (data) VALUES ('$json')";