2016-11-02 89 views
2

我有来自角度前端的JSON响应。答案是:如何在Laravel中获取Json数据

{ 
    "selected": null, 
    "lists": [ 
    { 
     "board one": [ 
     { 
      "card_name": "Card 10", 
      "id": 1, 
      "card_unique_id": "PC1" 
     }, 
     { 
      "card_name": "card 11", 
      "id": 2, 
      "card_unique_id": "PC2" 
     }, 
     { 
      "card_name": "card12", 
      "id": 3, 
      "card_unique_id": "PC3" 
     }, 
     { 
      "card_name": "adfaf", 
      "id": 12, 
      "card_unique_id": "PC12" 
     }, 
     { 
      "card_name": "fa df af ad", 
      "id": 13, 
      "card_unique_id": "PC13" 
     } 
     ], 
     "BoardId": "PB1" 
    }, 
    { 
     "board two": [ 
     { 
      "card_name": "Card 20", 
      "id": 4, 
      "card_unique_id": "PC4" 
     }, 
     { 
      "card_name": "CArd 21", 
      "id": 5, 
      "card_unique_id": "PC5" 
     }, 
     { 
      "card_name": "card 23", 
      "id": 6, 
      "card_unique_id": "PC6" 
     }, 
     { 
      "card_name": "Card 24", 
      "id": 7, 
      "card_unique_id": "PC7" 
     } 
     ], 
     "BoardId": "PB2" 
    }, 
    { 
     "board three": [ 
     { 
      "card_name": "Card 30", 
      "id": 8, 
      "card_unique_id": "PC8" 
     }, 
     { 
      "card_name": "card 31", 
      "id": 9, 
      "card_unique_id": "PC9" 
     }, 
     { 
      "card_name": "card 32", 
      "id": 10, 
      "card_unique_id": "PC10" 
     } 
     ], 
     "BoardId": "PB3" 
    }, 
    { 
     "new board": [ 
     { 
      "card_name": "card 40", 
      "id": 11, 
      "card_unique_id": "PC11" 
     } 
     ], 
     "BoardId": "PB4" 
    } 
    ] 
} 

我想在laravel中获取所有卡的名称。在laravel控制器函数中,我的代码如下所示:它返回一些错误。我不知道如何获取所有这些card_names

public function sortupdate(Request $response) 
    { 
     $get_result_arr = json_decode($response->getContent()); 

     foreach($get_result_arr as $result){ 
      $lists = $result->lists; 
     } 
    } 

请任何人帮忙。 感谢高级..

+0

请上的错误更具体返回 – Wistar

+0

我不知道如何获取。请回答。谢谢Wistar – SARAN

回答

2

添加truejson_decode()得到一个关联数组:

$get_result_arr = json_decode($response->getContent(), true); 

然后在这个阵列进行迭代,并得到各card_name

foreach ($get_result_arr['lists'] as $list) { 
    foreach (array_values($list)[0] as $card) { 
     echo $card['card_name']; 
    } 
} 
+0

谢谢Alexey Mezenin。但它返回未定义的索引:列表。 – SARAN

+0

$ get_result_arr返回数组。但返回错误为未定义的索引列表 – SARAN

+0

@SARAN,我已经更新了代码并进行了测试。它与您的数据完美配合。 –