php json 添加元素,如何使用php在json对象中正确创建和追加数据?

如何正确创建一个json文件并将数据附加到其中,这是我的php代码:

$jsonFile = "_users.json";

$username = $_GET["username"];

$email = $_GET["email"];

$objID = $_GET["objID"];

//Load the file

$jsonStr = file_get_contents($jsonFile);

//Decode the JSON data into a PHP array.

$array = json_decode($jsonStr, true);

if ($array != null) {

$arrNew['ObjID']++;

$arrNew['username'] = $username;

$arrNew['email'] = $email;

array_push($array, $arrNew);

} else {

$arrNew = [];

$array['ObjID'] = 0;

$array['username'] = $username;

$array['email'] = $email;

array_push($array, $arrNew);

}

// Encode the array back into a JSON string and save it.

$jsonData = json_encode($array);

file_put_contents($jsonFile, $jsonData);

// echo data

echo $jsonData;

?>

如果我通过调用php文件刷新浏览器中的url,如果转到

example.com/_users.json

{

"0": [],

"1": {

"ObjID": 1,

"username": "bob",

"email": "[email protected]"

},

"2": {

"ObjID": 1,

"username": "sarah",

"email": "[email protected]"

},

"3": {

"ObjID": 1,

"username": "sarah",

"email": "[email protected]"

},

"ObjID": 0,

"username": "bob",

"email": "[email protected]"

}

所以我可以生成一个.json文件,但我需要做的是一段代码来执行以下顺序:

自从我第一次运行脚本以来,

乌森

文件不存在,需要生成

创建json

主要对象

将第一个对象插入

主要对象

附加第二个对象(仍在

主要对象

)

等等,第三,第四等等。

所以我需要得到这样的输出:

{

"1": {

"ObjID": 1,

"username": "bob",

"email": "[email protected]"

},

"2": {

"ObjID": 1,

"username": "sarah",

"email": "[email protected]"

}

}

我真的不知道我在php代码中做错了什么。

你可能感兴趣的:(php,json,添加元素)