addEventListener中的对象不转换为JSON

If I try convert data from $event from addEventListener in Symfony, - 'json_encode' returning empty object: {}.

/**
     * @param FormBuilderInterface $builder
     * @param array $options
     */
    public function buildForm(FormBuilderInterface $builder, array $options) {
        $builder
            ->add('login', TextType::class, array('label'=> false, 'attr' => array('class' => 'form-control', 'placeholder' => 'Login', 'data' => '')))
            ->add('password', PasswordType::class, array('label'=> false, 'required' => false, 'attr' => array('class' => 'form-control', 'placeholder' => 'Password')))
            ->add('save', SubmitType::class, array('label' => 'Enter'))
            ->addEventListener(FormEvents::PRE_SET_DATA, function (FormEvent $event) {
                $this->logToFile($event, 'PRE_SET_DATA');
            })
    }

    private function logToFile($event, $text){
        if ($event->getData()) {
            $data = $event->getData();
        } else {
            $data = 'none';
        }
        $form = $event->getForm();
        error_log(PHP_EOL.date('Y-m-d h:i:s' , time()).' TestData / buildForm / '.$text.': $data: '.json_encode($data).' / $form: '.json_encode($form), 3, "/var/tmp/log.log");
    }

Result: "PRE_SET_DATA: $user: \"none\" \/ $form: {}"

If I try to debug on the local host, I see that the $ form object is not empty.