2016-11-25 1 views
2

내가 laravel 5.3을 사용하고 '나는 내가 돈 laravel 및 JSON 배열

public function store(Request $request) 
{ 
    //how to extract $request object in here 
} 

아래처럼 내 laravel 컨트롤러에서이 배열을 받아
{"grc":{"id":1},"floatingGrcs":[{"days":"10","units":"100"},{"days":"20","units":"200"}]} 

아래처럼 내 AngularJS와에서 JSON을 제출 을 AngularJS와 있어요 laravel 컨트롤러에서 제출 된 json 배열을 추출하는 방법을 알고 있습니다

답변

2

표준 json_decode() :

를 사용할 수 있습니다.
public function store(Request $request) 
{ 
    $data = json_decode($request->someJson); 
} 

당신은 dd($request->all());

2

공통 케이스의 모든 데이터를 볼 수는 각도를 통해 JSON 인코딩 된 데이터를 게시 할 필요가 없다는 것입니다.

예를 들어, 당신이 사용한다, 각도 뭔가를 제출하려면 :

$http.post('api/something', {"grc":{"id":1},"floatingGrcs": [..]}) 

을 그리고 다음 Laravel 측에서 JSON을 디코딩 할 필요가 없습니다 :

public function store(Request $request) 
{ 
    $request->all();  // to get all fields 
    $request->grc->id; // to get a specific field 
} 
0

내가 아래에 답변을 얻었다는 암호. 그러나 나는 확실하지 않다

$params = json_decode(file_get_contents('php://input'), TRUE); 

이것은 (는) 위의 코드 라인은 안전하지 않습니까?

public function store() 
    { 

     $params = json_decode(file_get_contents('php://input'), TRUE); 

     foreach ($params as $key => $value) 
     { 
      if($key == "grc") 
      { 
       $grc_id = $value["id"]; 
      } 
      elseif($key == "floatingGrcs") 
      { 
       foreach ($value as $floating) 
       { 
        $days = $floating["days"]; 

       } 
      } 

     }