Please change the unserialize function in vendor/magento/framework/Serialize/Serializer/Json.php.
You also need to check whether the string is serialized or not.
public function unserialize($string)
{
/************** Custom code ***********/
if($this->is_serialized($string))
{
$string = $this->serialize($string);
}
/************** Custom code ***********/
$result = json_decode($string, true);
if (json_last_error() !== JSON_ERROR_NONE) {
throw new InvalidArgumentException('Unable to unserialize value.');
}
return $result;
}

