如何在json数据中附加主题

时间:2016-05-25 13:27:52

标签: javascript php html mysql json

我想在json数据中附加主题。所以,我可以使用$ .each(data.subject)获取。下面是我的api代码,我将所有数据编码提取为json格式。任何帮助将不胜感激。

[{"id":"79","FirstName":"Elon","MiddleName":"","LastName":"Musk","Gender":"Male","Location":"New York","Email":"elonmusk@tesla.com","Mobile":"1234567890"}]

希望像这样收到:

 { "personaldetails":[{"id":"79","FirstName":"Elon","MiddleName":"","LastName":"Musk","Gender":"Male","Location":"New York","Email":"elonmusk@tesla.com","Mobile":"1234567890"}

这是我的代码;

    $personal = $db->prepare('select Id,FirstName,MiddleName,LastName,Gender,Location,Email,Mobile from personaldetails ORDER BY Id DESC');
    $personal->execute();
    $json_data=array();



    foreach($personal as $row)//foreach loop  
    {  

        $json_array['id']=$row['Id'];  
        $json_array['FirstName']=$row['FirstName'];  
        $json_array['MiddleName']=$row['MiddleName'];  
        $json_array['LastName']=$row['LastName']; 
        $json_array['Gender']=$row['Gender']; 
        $json_array['Location']=$row['Location']; 
        $json_array['Email']=$row['Email']; 
        $json_array['Mobile']=$row['Mobile'];
        array_push($json_data,$json_array);  

}  
$books = $db->prepare('select UserId,BookTitle,BookGenre,BookWriter,BookDescription from bookdetails ORDER BY UserId Desc'); 
    $books->execute();
    $json_data1=array();

     //$bookNo = 0;
    foreach($books as $row)//foreach loop  
    {  
        //$bookNo++;
        //$json_array1['BookNo']= $bookNo;  
        $json_array1['UserId']=$row['UserId']; 
        $json_array1['BookTitle']=$row['BookTitle']; 
        $json_array1['BookGenre']=$row['BookGenre'];  
        $json_array1['BookWriter']=$row['BookWriter']; 
        $json_array1['BookDescription']=$row['BookDescription']; 

    //here pushing the values in to an array  
    array_push($json_data1,$json_array1);  

}  
header('Content-type: application/json');
    echo json_encode($json_data);
    echo json_encode($json_data1);
    //echo json_encode($json_data1);  

?>

提前致谢

2 个答案:

答案 0 :(得分:1)

简单!

echo json_encode(array("yourSubject"=>$responseArray));

在这里,您还可以使用yourSubject定义其他一些数据,如

code: response_code, success: true/false

例如

echo json_encode(array(
                  "yourSubject"=>$responseArray,
                  "success" => true,
                  "code" => 200,
                  "otherinfo" => "somedata"
      ));

这将使你的json响应如下:

{
     "yourSubject": [{}],
      "success" : true,
      "code" : 200,
      "otherinfo" : "somedata"

}

在前端,如果这是您的data对象,则可以轻松访问数据

data.code, data.yourSubject等等。

答案 1 :(得分:0)

 **replace this** 
   $json_array['id']=$row['Id'];  
    $json_array['FirstName']=$row['FirstName'];  
    $json_array['MiddleName']=$row['MiddleName'];  
    $json_array['LastName']=$row['LastName']; 
    $json_array['Gender']=$row['Gender']; 
    $json_array['Location']=$row['Location']; 
    $json_array['Email']=$row['Email']; 
    $json_array['Mobile']=$row['Mobile'];
    array_push($json_data,$json_array); 

 $json_array['userprofile'] = $row;
 array_push($json_data,$json_array);

并回显$ json_data。