Laravel,将JSON数组转成Array,只从Array中得到一个object
Laravel, convert JSON array to Array and only get one object from the Array
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Vinelab\Http\Client as HttpClient;
use App\Requests\SearchRequest;
use App\Http\Requests;
use App\Http\Controllers\Controller;
class SearchResults extends Controller
{
public function index()
{
return view('results.search-results');
}
public function store(Requests\SearchRequest $request)
{
$search_phrase = $request->input('search');
$client = new HttpClient;
$response = $client->get('https://www.reddit.com/search.json?q='. $search_phrase .'');
$responseArray = $response->json();
dd($responseArray);
return view('results.search-results');
}
}
使用上面的代码,我使用这个 HTTP 服务
调用了 reddit API
https://github.com/Vinelab/http/tree/master
返回的响应给了我一个包含大量数据的数组,但我只想从中获取标题字段并将其解析为一个 Laravel 数组,该数组可以发送到一个视图我将在 foreach 循环中显示标题。
我想也许可以将结果的标题存储在数据库中,然后查询数据库并将其发送到视图。我对所有这些都是新手,所以任何帮助和理论将不胜感激。
Laravel 5.2 中是否有方法可以将此 JSON 数组的输出转换为可以压缩并发送到视图的可用数组?
你可以这样做,将json转换成数组格式。
json_decode($response->content(), true);
并且可以通过这个访问
$response[0]['title']
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Vinelab\Http\Client as HttpClient;
use App\Requests\SearchRequest;
use App\Http\Requests;
use App\Http\Controllers\Controller;
class SearchResults extends Controller
{
public function index()
{
return view('results.search-results');
}
public function store(Requests\SearchRequest $request)
{
$search_phrase = $request->input('search');
$client = new HttpClient;
$response = $client->get('https://www.reddit.com/search.json?q='. $search_phrase .'');
$responseArray = $response->json();
dd($responseArray);
return view('results.search-results');
}
}
使用上面的代码,我使用这个 HTTP 服务
调用了 reddit APIhttps://github.com/Vinelab/http/tree/master
返回的响应给了我一个包含大量数据的数组,但我只想从中获取标题字段并将其解析为一个 Laravel 数组,该数组可以发送到一个视图我将在 foreach 循环中显示标题。
我想也许可以将结果的标题存储在数据库中,然后查询数据库并将其发送到视图。我对所有这些都是新手,所以任何帮助和理论将不胜感激。
Laravel 5.2 中是否有方法可以将此 JSON 数组的输出转换为可以压缩并发送到视图的可用数组?
你可以这样做,将json转换成数组格式。
json_decode($response->content(), true);
并且可以通过这个访问
$response[0]['title']