我得到了一个我需要解析的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