How do I use unserialize method instead of json_decode
-
15-04-2021 - |
Frage
How do I use unserialize method instead of json_decode, by inject vendor/magento/framework/Serialize/Serializer/
foreach ($results as $result) {
$incrementId = $result['increment_id'];
$additionalInformation = $result['additional_information'];
$additionalInformationArr = json_decode($additionalInformation);
$addressVerificationJson = $additionalInformationArr->shipping_address_verification;
$addressVerificationArr = json_decode($addressVerificationJson);
$postalCode = $addressVerificationArr->postal_code;
}
Lösung
You have to inject Magento\Framework\Serialize\SerializerInterface in your constructor
namespace Vendor\Module;
use Magento\Framework\Serialize\SerializerInterface;
class MyClass
{
/**
* @var SerializerInterface
*/
protected $serializer;
public function __construct(SerializerInterface $serializer)
{
$this->serializer = $serializer;
}
}
Than you can use it in your code
foreach ($results as $result) {
$incrementId = $result['increment_id'];
$additionalInformation = $result['additional_information'];
$additionalInformationArr = $this->serializer->unserialize($additionalInformation);
$addressVerificationJson = $additionalInformationArr->shipping_address_verification;
$addressVerificationArr = $this->serializer->unserialize($addressVerificationJson);
$postalCode = $addressVerificationArr->postal_code;
}
Hope it helps
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit magento.stackexchange