JSON 用 PHP 写出来

JSON write out with PHP

我有一条JSON消息,我不知道如何写出json的一部分。

我试过:

{{$data[0]->items[0]}}

{{$data[0]->name}}

{{$data->items[0]-name}}

{{$data[0]->items}}

等...

JSON message:
{ 
   "items":[ 
      { 
         "name":"Knight",
         "id":26000000,
         "maxLevel":13,
         "iconUrls":{ 
            "medium":"https:\/\/api-assets.clashroyale.com\/cards\/300\/jAj1Q5rclXxU9kVImGqSJxa4wEMfEhvwNQ_4jiGUuqg.png"
         }
      },
      { 
         "name":"Archers",
         "id":26000001,
         "maxLevel":13,
         "iconUrls":{ 
            "medium":"https:\/\/api-assets.clashroyale.com\/cards\/300\/W4Hmp8MTSdXANN8KdblbtHwtsbt0o749BbxNqmJYfA8.png"
         }
      }
   ]
}

编辑:

这是控制器

如您所见,$data 数组已解码

看起来你的 post 主要是代码;请添加更多详细信息。我的天啊

     $token = "token";

     $url = "https://api.clashroyale.com/v1/cards";

     $ch = curl_init($url);

     $headr = array();
     $headr[] = "Accept: application/json";
     $headr[] = "Authorization: Bearer ".$token;
     curl_setopt($ch, CURLOPT_HTTPHEADER, $headr);

     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
     $res = curl_exec($ch);
     $data = json_decode($res, true);
     curl_close($ch);

     return view('clash', ['data' => $data]);

首先你必须 decode 你的 JSON-StringPHP-Array 然后你可以 access it easily 这样:

$json = '{
   "items":[
      {
         "name":"Knight",
         "id":26000000,
         "maxLevel":13,
         "iconUrls":{
            "medium":"https:\/\/api-assets.clashroyale.com\/cards\/300\/jAj1Q5rclXxU9kVImGqSJxa4wEMfEhvwNQ_4jiGUuqg.png"
         }
      },
      {
         "name":"Archers",
         "id":26000001,
         "maxLevel":13,
         "iconUrls":{
            "medium":"https:\/\/api-assets.clashroyale.com\/cards\/300\/W4Hmp8MTSdXANN8KdblbtHwtsbt0o749BbxNqmJYfA8.png"
         }
      },
      {
         "name":"Goblins",
         "id":26000002,
         "maxLevel":13,
         "iconUrls":{
            "medium":"https:\/\/api-assets.clashroyale.com\/cards\/300\/X_DQUye_OaS3QN6VC9CPw05Fit7wvSm3XegXIXKP--0.png"
         }
      },
      {
         "name":"Giant",
         "id":26000003,
         "maxLevel":11,
         "iconUrls":{
            "medium":"https:\/\/api-assets.clashroyale.com\/cards\/300\/Axr4ox5_b7edmLsoHxBX3vmgijAIibuF6RImTbqLlXE.png"
         }
      }
   ]
}';

$array = json_decode( $json, true ); // we receive an associative array because the second parameter is true

echo $array['items'][0]['name'];
echo $array['items'][1]['id'];

用法例如:

$token = "token";
$url = "https://api.clashroyale.com/v1/cards";
$ch = curl_init($url);

$headr = array();
$headr[] = "Accept: application/json";
$headr[] = "Authorization: Bearer ".$token;

curl_setopt($ch, CURLOPT_HTTPHEADER, $headr);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$res = curl_exec($ch);
$data = json_decode($res, true);
curl_close($ch);

echo $data['items'][0]['name']; // echo the value of the key 'name' of the first element in items
echo $data['items'][1]['id']; // echo the value of the key 'id' of the second element in items
// you can also store them or do whatever you want

return view('clash', ['data' => $data]);

或者像这样访问视图中的数据:

{{ $data['items'][0]['name'] }}
{{ $data['items'][0]['id'] }}