Php 如何将字符串从MySql转换为JSON数组
我正在尝试将从MySql接收的数据转换为JSON,格式如下-Php 如何将字符串从MySql转换为JSON数组,php,json,Php,Json,我正在尝试将从MySql接收的数据转换为JSON,格式如下- [ { "question": "This is a question", "options": [ "Option which may contain double or single quoted text", "Option 2", "Option 3", "Option 4"
[
{
"question": "This is a question",
"options": [
"Option which may contain double or single quoted text",
"Option 2",
"Option 3",
"Option 4"
]
}
]
到目前为止,我的相关PHP代码是-
<?php
$result = mysql_query("select * from test_table limit 5", $db);
$json_response = array();
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
$option_01 = $row['Option_1'];
$option_02 = $row['Option_2'];
$option_03 = $row['Option_3'];
$option_04 = $row['Option_4'];
$row_array['question'] = $row['Question'];
// I am unable to format Options ($option_01,$option_02,$option_03,$option_04) into desired Array as mentioned in starting
$row_array['options'] = "";
array_push($json_response,$row_array);
}
echo json_encode($json_response);
?>
但是我被困在了如何制作从MySql数据库接收的选项变量数组?您需要制作
$row\u数组['options']
一个数组
$row_array['options'] = array();
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
$row_array['options'][] = $row['Option_1'];
$row_array['options'][] = $row['Option_2'];
$row_array['options'][] = $row['Option_3'];
$row_array['options'][] = $row['Option_4'];
}
另外,请记住,试试这个
<?php
$result = mysql_query("select * from test_table limit 5", $db);
$json_response = array();
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
$ans = array();
$ans["question"]= $row["question"];
$ans["options"]=$row;
$json_response[]=$ans;
}
echo json_encode($json_response);
?>
这将生成与预期相同的结果,但在选项数组中,您也将获得问题字段。但在处理json结果时可以忽略这一点
注意:-Mysql函数在较新版本中不推荐使用。谢谢。我现在明白了。我也在尝试升级自己(关于mysql),但这需要时间。一旦stackoverflow的时限结束,我将接受答案。现在,投票表决:)