如何从下面给出的json中显示tld值

时间:2018-05-14 07:27:38

标签: php laravel

从下面的json我需要显示tld的值,即co.uk,eu,live,org ......

Array ( [tldlist] => Array ( [tld] => Array ( [0] => Array ( [tld] => co.uk ) [1] => Array ( [tld] => eu ) [2] => Array ( [tld] => live ) [3] => Array ( [tld] => org ) [4] => Array ( [tld] => Array ( ) ) ) [tldcount] => 5 ) [Command] => GETTLDLIST [APIType] => API [Language] => eng [ErrCount] => 0 [ResponseCount] => 0 [MinPeriod] => Array ( ) [MaxPeriod] => 10 [Server] => SJL1VWRESELL_T [Site] => eNom [IsLockable] => Array ( ) [IsRealTimeTLD] => Array ( ) [TimeDifference] => +0.00 [ExecTime] => 0.000 [Done] => true [TrackingKey] => 7cbc3d47-c11c-4a39-8387-448777e82af5 [RequestDateTime] => 5/14/2018 12:21:18 AM [debug] => Array ( ) ) 1

在我的刀片代码下面找到:

 @foreach($final_data1['tldlist']['tld'] as $key)

    {{$key}}<br>

 @endforeach

请在我的刀片文件中建议我更正以显示上述json中的tld。

1 个答案:

答案 0 :(得分:0)

初步说明:&#34; json&#34;你显示的不是JSON,它是print_r()的输出。

由于JSON只是一个字符串,因此您需要先对其进行解码。 PHP documentation州:

  

<强>功能

     

json_decode(string $ json [,bool $ assoc = FALSE [,int $ depth = 512 [,int $ options = 0]]])

     

<强>参数

     

$ JSON   正在解码的json字符串。

     

$ ASSOC   如果为TRUE,则返回的对象将转换为关联数组。

解码后,关联数组可以作为一个对象访问:

$data = json_decode($json);
$tld = $data->tldlist;

如果您希望将其解码为数组,请将true作为第二个参数传递:

$data = json_decode($json, true);
$tld = $data['tldlist'];

我建议在控制器中对其进行解码。这样您的视图就不必关心数据的传递方式。

假设您有一个JSON字符串并希望以数组形式访问它:

return view('your_blade_view')->with('final_data1', json_decode($data, true));

如果您坚持在Blade文件中执行此操作,请使用以下代码段:

@foreach($final_data1['tldlist']['tld'] as $key)

    {{$key}}<br>

@endforeach