所以,我尝试将解码的json对象存储到绑定的apache会话中。这是我的密码:
$url="https://apilink";
$content = get($url);
die "Can't Get $url" if (! defined $content);
$jsonOb = decode_json($content);
%aprecords = %$jsonOb;
#Push the jsonOb in the session
$session{apirecords} = \%aprecords ;
``` `$session{apirecords}` 不存储 `%aprecords` 参考文献。不过,当我把这句话换成 `$session{apirecords} = \%jsonOb ;` ,它存储 `apirecords` 但对%jsonob的引用中没有值。
附言:我试过以下方法,但似乎都不管用:1) `$session{apirecords} = \%$jsonOb ;` 2) `$session{apirecords} = { %aprecords } ;` json对象的结构非常好。
绑定会话的代码:
tie %session, "Apache::Session::MySQL", $sessionID,
{
Handle => $dbObject,
LockHandle => $dbObject,
TableName => 'sessions',
};
#If a session ID doesn't exist, create a new session and get new session ID
if (!defined ($sessionID)){
$sessionID = $session{_session_id};
$session{count}=0;
}
请伸出援助之手!
json示例:https://jsonblob.com/feed3bba-f1cd-11e8-9450-2904e8ecf943
1条答案
按热度按时间x6492ojm1#
正如gmb所指出的。blob大小(64 kb)对于json对象来说不够大。解决办法是改变
blob
数据类型到mediumblob
.