2017-03-10 11 views
0

私は解析する必要があるJSONを持っています。PHP/Laravelを使用してJSONファイルを解析します

{ 
    "Room 251": { 
     "calID": "[email protected]", 
     "availMsg": "Open Computer Lab" 
     }, 

    "Room 318": { 
     "calID": "[email protected]", 
     "availMsg": "Open Computer Lab" 
     }, 

    "Room 319 (Friends Room)": { 
     "calID": "[email protected]", 
     "availMsg": "Available For Study" 
     }, 

    "Room 323": { 
     "calID": "[email protected]", 
     "availMsg": "Open Computer Lab" 
     }, 

    "Room 513 (Voinovich Room)": { 
     "calID": "[email protected]", 
     "availMsg": "Available For Study" 
     } 
} 

私は部屋の名前、calID、および利用可能なメッセージを取得する必要があります。 PHP/Laravelでこれを行う最善の方法は何でしょうか?

+2

はあなたを持っていますこれを行うには何かを試したことがありますか? – hassan

+0

意味はなんですか? –

+0

あなたはlaravelやphpを使ってjsonを解析することを試みましたか? – hassan

答えて

3

json_decodeを使用すると、jsonデータを解析できます。

例えば

混合json_decode(文字列$ jsonの[、ブールの$ ASSOC])

$rooms = json_decode($yourJsonHere, true); 

var_dump($rooms); 

foreach($rooms as $name => $data) { 
    var_dump($name, $data['calID'], $data['availMsg']); // $name is the Name of Room 
} 
+0

これは、すべての部屋を多次元配列として与えます。これはすでに持っています。部屋から値を取得して変数に設定する必要があります –

+0

なぜ変数に設定するのですか?なぜあなたは配列を使用できませんか? –

+0

私はそれらを後で渡すために変数にする必要があるので。 –

1

あなたはそのような何かを行うことができます。

<?php 
$json = ' 
{ 
    "Room 251": { 
     "calID": "[email protected]", 
     "availMsg": "Open Computer Lab" 
     }, 

    "Room 318": { 
     "calID": "[email protected]", 
     "availMsg": "Open Computer Lab" 
     }, 

    "Room 319 (Friends Room)": { 
     "calID": "[email protected]", 
     "availMsg": "Available For Study" 
     }, 

    "Room 323": { 
     "calID": "[email protected]", 
     "availMsg": "Open Computer Lab" 
     }, 

    "Room 513 (Voinovich Room)": { 
     "calID": "[email protected]", 
     "availMsg": "Available For Study" 
     } 
}'; 
foreach(json_decode($json) as $room_name => $room){ 
    echo $room_name.'<br/>'; // output the room name, for instead "Room 251" 
    echo $room->calID.'<br/>'; // output the room calID 
    echo $room->availMsg.'<br/>'; // output the room availMsg 
} 

?> 
+0

'非オブジェクトのプロパティを取得しようとしています' –

+0

私はそれをテストした、それはコピー/貼り付け中に何かを見逃していないことを確認してもらえますか? –

+0

'$ cal_ID = $ keys ['calID']; $ availMsg = $ keys ['availMsg']; echo $ cal_ID; エコー "
"; echo $ availMsg; echo "
"; ' –

関連する問題