2014-06-22 49 views
0

我有一個婚禮的人rsvp。我想要它,以便人們可以提交他們的rsvp數據並將這些數據放入json數組中。然後我想把這個數組放到一個表中。使用php解析json對象到json數組。

我有這個數組就在這裏:

{ 
    "weddingRSVP": [ 
     { 
      "success": true, 
      "FirstName": "k", 
      "LastName": "k", 
      "Email": "k", 
      "Phone": "k", 
      "Comments": "kk", 
      "GuestNumber": "0", 
      "Guest1": "k", 
      "Guest2": "k", 
      "Guest3": "k" 
     } 
    ] 
} 

這是我當我跑我的代碼:

{ 
    "0": { 
     "success": true, 
     "FirstName": "l", 
     "LastName": "l", 
     "Email": "l", 
     "Phone": "l", 
     "Comments": "l", 
     "GuestNumber": "0", 
     "Guest1": "l", 
     "Guest2": "l", 
     "Guest3": "l" 
    }, 
    "weddingRSVP": [ 
     { 
      "success": true, 
      "FirstName": "k", 
      "LastName": "k", 
      "Email": "k", 
      "Phone": "k", 
      "Comments": "kk", 
      "GuestNumber": "0", 
      "Guest1": "k", 
      "Guest2": "k", 
      "Guest3": "k" 
     } 
    ] 
} 

這就是我想要的:

{ 
    "weddingRSVP": [ 
     { 
      "success": true, 
      "FirstName": "k", 
      "LastName": "k", 
      "Email": "k", 
      "Phone": "k", 
      "Comments": "kk", 
      "GuestNumber": "0", 
      "Guest1": "k", 
      "Guest2": "k", 
      "Guest3": "k" 
     }, 
     { 
      "success": true, 
      "FirstName": "l", 
      "LastName": "l", 
      "Email": "l", 
      "Phone": "l", 
      "Comments": "l", 
      "GuestNumber": "0", 
      "Guest1": "l", 
      "Guest2": "l", 
      "Guest3": "l" 
     } 
    ] 
} 

和這是我所有的php:

<?php 
header('Content-type: text/javascript'); 

$fname =$lname= $email = $tel = $comment = $guest = $guestnum =$guest1=$guest2=$guest3= ""; 

$json = array(

    'success' => false, 
    'FirstName' => 0, 
    'LastName' => 0, 
    'Email' => 0, 
    'Phone' => 0, 
    'Comments' => 0, 
    'GuestNumber' => 0, 
    'Guest1' => 0, 
    'Guest2' => 0, 
    'Guest3' => 0 
    ); 


    if (isset($_POST['fname'],$_POST['lname'], 
       $_POST['email'],$_POST['tel'], 
       $_POST['comment'],$_POST['guestnum'], 
       $_POST['guest3'],$_POST['guest2'], 
       $_POST['guest3'])) 
    { 
     $fname = test_input($_POST["fname"]); 
     $lname = test_input($_POST["lname"]); 
     $email = test_input($_POST["email"]); 
     $tel = test_input($_POST["tel"]); 
     $comment = test_input($_POST["comment"]); 
     $guestnum = test_input($_POST["guestnum"]); 
     $guest1 = test_input($_POST["guest1"]); 
     $guest2 = test_input($_POST["guest2"]); 
     $guest3 = test_input($_POST["guest3"]); 

     $json['success'] = true; 
     $json['FirstName'] = $fname; 
     $json['LastName'] = $lname; 
     $json['Email'] = $email; 
     $json['Phone'] = $tel; 
     $json['Comments'] = $comment; 
     $json['GuestNumber'] = $guestnum; 
     $json['Guest1'] = $guest1; 
     $json['Guest2'] = $guest2; 
     $json['Guest3'] = $guest3; 

    } 
     $file = 'weddingRSVP.json'; 
     $data = json_decode(file_get_contents($file),1); 
     $data[] = $json; 
     file_put_contents($file, json_encode($data)); 



    function test_input($data) { 
     $data = trim($data); 
     $data = stripslashes($data); 
     return $data; 
    } 
    ?> 

雖然大部分神奇的是,此代碼發生的事情:

 $file = 'weddingRSVP.json'; 
     $data = json_decode(file_get_contents($file),1); 
     $data[] = $json; 
     file_put_contents($file, json_encode($data)); 

由於任何人誰可以幫助!

回答

0

我認爲這個問題是在

$data[] = $json; 

而是嘗試

$data['weddingRSVP'][] = $json 

希望它可以幫助

$file = 'weddingRSVP.json'; 
    $data = json_decode(file_get_contents($file),1); 
    $data['weddingRSVP'][] = $json 
    file_put_contents($file, json_encode($data)); 
+0

你是最棒的!謝謝:) – Christian4423

+0

只是想在這裏幫助☺ – Siv