空值添加到JSON文件

I'm just starting out in Angular and I'm trying to update my JSON file with a PHP script. The script updates it with the right keys but null values. I'd really appreciate some help.

Here's my code:

<?php
$object_data = array(
'capital' => $_POST['in1'],
'country' => $_POST['in2'],
'continent' => $_POST['in3'],
'image' => $_POST['in4']
);
$capitals = file_get_contents('capitals.json');
$capital_data = json_decode($capitals);

array_push($capital_data,$object_data);
$jsondata = json_encode($capital_data,JSON_PRETTY_PRINT);

file_put_contents('capitals.json',$jsondata);
?>

And here's my JSON file:

[
{
    "capital": "Ottawa",
    "country": "Canada",
    "continent": "North America",
    "image": "https:\/\/upload.wikimedia.org\/wikipedia\/commons\/2\/22\/Parliament-Ottawa.jpg"
},
{
    "capital": "Oslo",
    "country": "Norway",
    "continent": "Europe",
    "image": "https:\/\/upload.wikimedia.org\/wikipedia\/commons\/thumb\/b\/bd\/Downtown_Oslo_Norway_skyline.png\/800px-Downtown_Oslo_Norway_skyline.png"
},
{
    "capital": "Auckland",
    "country": "New Zealand",
    "continent": "Oceania",
    "image": "https:\/\/upload.wikimedia.org\/wikipedia\/commons\/6\/6e\/Auckland_City_from_Mt_Victoria%2C_Devonport_-_Flickr_-_111_Emergency_%281%29.jpg"
}
]

Lastly, here's my post request in Angular:

  $http.post('capitalData.php',                         
  {"capital":input1.val(),"country":input2.val(),
  "continent":input3.val(),"image":input4.val()}).success(function(){
  alert("Added!");
  });

Edit: Updated the post request to specify which data I'm sending but it still returns nulls.