我得到了一個我需要解析的JSON文件。我正在爲一家酒店做一些工作,最終目標是建立一個列表:使用PHP解析JSON文件
Room Number
Adult Content (enabled or disabled)
Room Charges (enabled or disabled)
Status (occupied or unoccupied)
JSON文件,我無法控制。它給了我,從那裏我必須創建上面提到的佈局。
這是我給出的JSON文件的示例(它是文件中的一部分,但你會明白它來自這個樣本是如何工作的):
{
"apiVersion" : "0.1",
"data" : {
"roomCount" : 105,
"rooms" : [
{
"room_number" : "104",
"services" : [
{
"adult" : {
"enabled" : true
},
"room_charges" : {
"enabled" : true
}
}
],
"status" : "OCCUPIED"
},
{
"room_number" : "105",
"services" : [
{
"adult" : {
"enabled" : true
},
"room_charges" : {
"enabled" : false
}
}
],
"status" : "OCCUPIED"
},
{
"room_number" : "106",
"services" : [
{
"adult" : {
"enabled" : false
},
"room_charges" : {
"enabled" : true
}
}
],
"status" : "OCCUPIED"
},
{
"room_number" : "107",
"services" : [
{
"adult" : {
"enabled" : false
},
"room_charges" : {
"enabled" : false
}
}
],
"status" : "OCCUPIED"
我迄今完成的:
我試圖解析數據,並且我可以獲取要顯示的數據,但是,如果按照上面所述的方式完全按照我需要的方式進行佈局,則會遇到問題。目前,我的分析腳本輸出如下:
data
roomCount: 105
rooms
0
room_number: 104
services
0
adult
enabled: 1
room_charges
enabled: 1
status: OCCUPIED
我需要它不顯示嵌套數組「密鑰」。什麼正如我上面所說,我想是的輸出看起來像這樣:
Room Number: 104
Adult: Enabled or Disabled (depending on true or false)
Room Charges: Enabled or Disabled (depending on true or false)
Status: OCCUPIED or UNOCCUPIED
最後,這裏是我迄今完成的代碼:我正在尋找一些
<?php
$string = file_get_contents("test.json");
$jsonIterator = new RecursiveIteratorIterator(
new RecursiveArrayIterator(json_decode($string, TRUE)),
RecursiveIteratorIterator::SELF_FIRST);
foreach ($jsonIterator as $key => $val) {
if(is_array($val)) {
echo "<br> $key";
} else {
echo "<br> $key: $val <br>";
}
}
?>
改進以更清潔的方式輸出數據。如果你能幫忙或給我任何建議/建議,我將不勝感激。
什麼是文件的大小。 – BojanT 2014-09-30 23:54:13
所以最新的問題在這裏? – Ghost 2014-09-30 23:58:50
該文件是1478行代碼。 37KB。我正在尋找輸出幫助。我需要它以一種乾淨整潔的用戶友好的方式來反映我在我的問題中解釋的內容。 – ValleyDigital 2014-10-01 00:00:54