[英]Array format inside JSON response using php
使用“ REST” API調用將數據從PHP平台發送到Android平台。 我在形成確切的結構(如何在json中構造“數組”)時遇到問題。我是REST API的新手(REQUEST和RESPONSE),請幫助我解決此問題
php代碼如下:
case 'question':
$lesson = $_POST['lesson'];
$chapter = $_POST['chapter'];
if(!isset($lesson) || !isset($chapter)){
$response['error'] = true;
$response['message'] = 'key and values is empty (or) wrong';
http_response_code(404);
}
//for login we need the username and password
if(isTheseParametersAvailable(array('lesson','chapter'))){
//getting values
$lesson = $_POST['lesson'];
$chapter = $_POST['chapter'];
//creating the query
$query = "SELECT que_desc,option1,option2,option3,option4,true_ans FROM question WHERE lesson = '".$lesson."' AND chapter = '".$chapter."' ";
$result = mysqli_query($conn, $query);
// $user =array();
$questions =array();
$q = array();
$question = array();
$options = array();
$i=1;
//$j=0;
while($row = mysqli_fetch_assoc($result)){
$q["q".$i]['question'] = $row['que_desc'];
$q["q".$i]['option'][1] = $row['option1'];
$q["q".$i]['option'][2] = $row['option2'];
$q["q".$i]['option'][3] = $row['option3'];
$q["q".$i]['option'][4] = $row['option4'];
$q["q".$i]['answer'] = $row['true_ans'];
$i++;
}
$questions['questions'] = $q;
header('Content-Type: application/json');
echo json_encode($questions , JSON_FORCE_OBJECT);
exit;
}
break;
下面的代碼帶有“結構錯誤”
{
"questions": {
"q1": {
"question": "question 1",
"option": {
"1": "option1",
"2": "option2",
"3": "option3",
"4": "option4"
},
"answer": "4"
},
"q2": {
"question": "question2",
"option": {
"1": "option1",
"2": "option2",
"3": "option3",
"4": "option4"
},
"answer": "2"
}
}
}
預期答案
{
"questions": {
"q1": {
"question": "question1",
"options": [
"option1",
"option2",
"option3",
"option4"
],
"answer": "option1"
},
"q2": {
"question": "question 2",
"options": [
"option1",
"option2",
"option3",
"option4"
],
"answer": "option2"
}
}
}
提前致謝 。
嘗試使用array
:
while($row = mysqli_fetch_assoc($result)){
$q["q".$i]['question'] = $row['que_desc'];
$q["q".$i]['option'] = array($row['option1'], $row['option2'], $row['option3'], $row['option4']);
$q["q".$i]['answer'] = $row['true_ans'];
$i++;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.