添加 JSON 元素到多维 JSON 对象 PHP
Add JSON Element To Multidimensional JSON Object PHP
我在名为 info.json 的文件中有一个 JSON 对象,它看起来像这样 -->
[
{
"name": "level0",
"items":
[
{
"name": "item1",
"type": "type1"
},
{
"name": "item2",
"type": "type2"
}
]
},
{
"name": "Level1",
"items":
[
{
"name": "item4",
"type": "type4"
},
{
"name": "item5",
"type": "type5"
}
]
},
{
"name": "Level2",
"items":
[
{
"name": "item6",
"type": "type6"
}
]
}
]
和一个看起来像这样的 php 脚本 -->
<?php
$json_string = file_get_contents("info.json");
$json = json_decode($json_string, true);
array_push($json[0]["items"], array("name" => "item3", "type" => "type3"));
?>
我试图在此数组中 "items" 的第一个实例中插入第三个元素,这样当我打开 JSON 文件时,新元素就会出现。我究竟做错了什么?如有任何建议,我们将不胜感激。
我觉得你的代码没问题。输出 $json
变量,您将能够看到您想要的结果。
print(json_encode($json, JSON_PRETTY_PRINT));
我给你做了一个样本:https://eval.in/818486
希望这对您有所帮助:)
更改 $json
数组后,您需要将其保存到 info.json 文件中,
file_put_contents("info.json", json_encode($json));
你好,laroy,你没有正确地将新的 json 编码字符串写入文件,所以你的代码看起来像这样
<?php
$json_string = file_get_contents("info.json");
$json = json_decode($json_string, true);
array_push($json[0]["items"], array("name" => "item3", "type" => "type3"));
$strNew = json_encode($json);
file_put_contents("info.json", $strNew);
?>
现在您可以查看 info.json 文件。
我在名为 info.json 的文件中有一个 JSON 对象,它看起来像这样 -->
[
{
"name": "level0",
"items":
[
{
"name": "item1",
"type": "type1"
},
{
"name": "item2",
"type": "type2"
}
]
},
{
"name": "Level1",
"items":
[
{
"name": "item4",
"type": "type4"
},
{
"name": "item5",
"type": "type5"
}
]
},
{
"name": "Level2",
"items":
[
{
"name": "item6",
"type": "type6"
}
]
}
]
和一个看起来像这样的 php 脚本 -->
<?php
$json_string = file_get_contents("info.json");
$json = json_decode($json_string, true);
array_push($json[0]["items"], array("name" => "item3", "type" => "type3"));
?>
我试图在此数组中 "items" 的第一个实例中插入第三个元素,这样当我打开 JSON 文件时,新元素就会出现。我究竟做错了什么?如有任何建议,我们将不胜感激。
我觉得你的代码没问题。输出 $json
变量,您将能够看到您想要的结果。
print(json_encode($json, JSON_PRETTY_PRINT));
我给你做了一个样本:https://eval.in/818486
希望这对您有所帮助:)
更改 $json
数组后,您需要将其保存到 info.json 文件中,
file_put_contents("info.json", json_encode($json));
你好,laroy,你没有正确地将新的 json 编码字符串写入文件,所以你的代码看起来像这样
<?php
$json_string = file_get_contents("info.json");
$json = json_decode($json_string, true);
array_push($json[0]["items"], array("name" => "item3", "type" => "type3"));
$strNew = json_encode($json);
file_put_contents("info.json", $strNew);
?>
现在您可以查看 info.json 文件。