16 class JsonEncoded extends \Magento\Eav\Model\Entity\Attribute\Backend\AbstractBackend
21 private $jsonSerializer;
30 $this->jsonSerializer = $jsonSerializer;
44 if ($object->hasData($attrCode) && !$this->isJsonEncoded($object->getData($attrCode))) {
45 $object->setData($attrCode, $this->jsonSerializer->serialize($object->getData($attrCode)));
59 parent::afterLoad($object);
61 $object->setData($attrCode, $this->jsonSerializer->unserialize($object->getData($attrCode) ?:
'{}'));
71 private function isJsonEncoded(
$value): bool
76 $this->jsonSerializer->unserialize(
$value);
77 }
catch (\InvalidArgumentException $e) {
__construct(Json $jsonSerializer)