как вернуть json объект в php laravel? - PullRequest
0 голосов
/ 30 марта 2020

Итак, я подключаюсь к api Call of Duty (используя Laravel сзади) и получаю всю информацию, которую получаю обратно в переменную ($ data), затем я хочу вернуть только часть этого что-то вроде:

return ($data->data->lifetime)

но я получаю сообщение «Попытка получить свойство« данные »не объекта» все время. Если я просто возвращаю данные, и вначале я получаю доступ к свойству следующим образом:

console.log(data.data.lifetime)

, оно выбрасывает мне то, что я хочу, но дело в том, что мне нужно иметь дело с этим сзади, поэтому какой из них будет правильным способом доступа только к свойствам, которые я хочу? (Я также пытался использовать json_decode в ответ) это json Я получаю, я хочу получить доступ к жизни, которая находится внутри данных

{status: "success", data: {…}}
status: "success"
data:
title: "mw"
platform: "battle"
username: "fire#2749"
type: "mp"
level: 88
maxLevel: 0
levelXpRemainder: 3000
levelXpGained: 7000
prestige: 0
prestigeId: 0
maxPrestige: 0
totalXp: 960000
paragonRank: 0
paragonId: 0
s: 5
lifetime:
all: {properties: {…}}
mode: {dom: {…}, war: {…}, hq: {…}, hc_dom: {…}, hc_conf: {…}, …}
map: {}
itemData: {weapon_sniper: {…}, tacticals: {…}, lethals: {…}, weapon_lmg: {…}, weapon_launcher: {…}, …}
scorestreakData: {lethalScorestreakData: {…}, supportScorestreakData: {…}}
accoladeData: {properties: {…}}
__proto__: Object
weekly: {all: {…}, mode: {…}, map: {…}}
engagement: null
__proto__: Object
__proto__: Object

Ответы [ 3 ]

0 голосов
/ 30 марта 2020

Попробуйте это

return \Response::json([
    "data" => [
        "lifetime"=>$data->data->lifetime
    ]
]);
0 голосов
/ 31 марта 2020
$data;
foreach ($datas as $key => $da ) { 
   if($da->lifetime) {
    $data = (object)array(
        'lifetime' => $da->lifetime,
    );
   }
}
return response()->json($data);
0 голосов
/ 30 марта 2020

Зачем вам нужно возвращать путь для этого? Просто получите доступ к прямому значению на вашем JavaScript:

console.log(data);

Но если вам НУЖНО вернуться в формате json, даже если это не нужно и является избыточным, вам нужно вернуть массив:

return response()->json([
    "data" => [
        "lifetime"=>$data->data->lifetime
    ]
]);

Примечание. Контроллер не должен возвращать данные напрямую, вместо этого используйте response()->json(...).

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