Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. JsonEncode.php

function JsonEncode::encode

Overrides EncoderInterface::encode

File

vendor/symfony/serializer/Encoder/JsonEncode.php, line 37

Class

JsonEncode
Encodes JSON data.

Namespace

Symfony\Component\Serializer\Encoder

Code

public function encode(mixed $data, string $format, array $context = []) : string {
    $options = $context[self::OPTIONS] ?? $this->defaultContext[self::OPTIONS];
    try {
        $encodedJson = json_encode($data, $options);
    } catch (\JsonException $e) {
        throw new NotEncodableValueException($e->getMessage(), 0, $e);
    }
    if (\JSON_THROW_ON_ERROR & $options) {
        return $encodedJson;
    }
    if (\JSON_ERROR_NONE !== json_last_error() && (false === $encodedJson || !($options & \JSON_PARTIAL_OUTPUT_ON_ERROR))) {
        throw new NotEncodableValueException(json_last_error_msg());
    }
    return $encodedJson;
}
RSS feed
Powered by Drupal