JsonPacker.php 504 B

1234567891011121314151617181920212223242526
  1. <?php
  2. declare(strict_types=1);
  3. namespace Yansongda\Pay\Packer;
  4. use Yansongda\Pay\Contract\PackerInterface;
  5. class JsonPacker implements PackerInterface
  6. {
  7. public function pack(array $payload): string
  8. {
  9. return json_encode($payload, JSON_UNESCAPED_UNICODE);
  10. }
  11. public function unpack(string $payload): ?array
  12. {
  13. $data = json_decode($payload, true);
  14. if (JSON_ERROR_NONE === json_last_error()) {
  15. return $data;
  16. }
  17. return null;
  18. }
  19. }