我正在使用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中意外的数字,位于JSON.parse的位置1
这是我存储文件数据的功能
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]
})
}
}
}
当我记录日志时,这是密钥的内容
array ( 'username' => 'eded', 'contrasena' => NULL, 'llave_criptografica' => array ( 'filename' => '011503046233.p12', 'filetype' => 'application/x-pkcs12', 'value' => 'MIIaP-base-64', ), 'clave_criptografica' => NULL, )
答案 0 :(得分:1)
要访问数据,您必须使用[]
作为数组,而不是要使用->
的对象。您可以这样操作:
$request["llave_criptografica"]["filename"];
如果您需要像访问对象一样访问它,可以始终将其强制转换为对象。