Laravel: я не могу получить доступ к свойству объекта во вложенном json - PullRequest
1 голос
/ 04 апреля 2019

Я работаю с angular и laravel, у меня есть этот json в моем запросе, но по какой-то причине я не могу получить доступ к данным внутри ключа под названием "llave_criptografica", это полный json

{username: "eeded", contrasena: null, llave_criptografica: {…}, clave_criptografica: null}

данные внутри "llave_criptografica" это

{filename: "011503046233.p12", filetype: "application/x-pkcs12", value: "MIIaPAIBAzCCGfYG-base-64-encode"}

Как видите, я только что закодировал и отправил ключ с base64, но когда я пытаюсь получить к нему доступ, я получаю эту ошибку

        return $request->llave_criptografica->filename;

Попытка получить свойство необъекта

если я пытаюсь получить доступ как массив, это ошибка

        return $request->llave_criptografica["filename"];

Неожиданный номер в JSON на позиции 1 в JSON.parse

это функция, где я храню данные файла

onFileChange(event) {
let reader = new FileReader();
if(event.target.files && event.target.files.length > 0) {
  let file = event.target.files[0];
  reader.readAsDataURL(file);
  reader.onload = () => {
    this.formCertificado.get('llave_criptografica').setValue({
      filename: file.name,
      filetype: file.type,
      value: reader.result.split(',')[1]
    })

        }
  }
}

enter image description here

Когда я делаю логи, это содержимое ключа

array ( 'username' => 'eded', 'contrasena' => NULL, 'llave_criptografica' => array ( 'filename' => '011503046233.p12', 'filetype' => 'application/x-pkcs12', 'value' => 'MIIaP-base-64', ), 'clave_criptografica' => NULL, )

1 Ответ

1 голос
/ 04 апреля 2019

Чтобы получить доступ к данным, вы должны обращаться к ним как к массиву, используя [] в противоположность объекту, где вы будете использовать ->. Вы можете сделать это так:

$request["llave_criptografica"]["filename"]; 

Вы всегда можете привести это к объекту, если вам нужен доступ к нему как к объекту.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...