我是一个php文件中的mysql查询的json编码结果。我的php脚本如下:
// GET: api/portfolio'
[HttpGet]
public IHttpActionResult Get()
{
List<string> somethings = DataStore.GetSomeThings();
//Return list and return ok (HTTP 200)
return Ok(somethings);
}
我的输出
while ($row = mysql_fetch_array($result)) {
$to_encode[] = $row;
}
echo json_encode($to_encode);
在这里,您可以看到每条备用线都是多余的。我不需要1,3,5行...等等。
所需输出
[
{
"0": "Variables",
"topic_name": "Variables",
"1": "pyt1.1",
"rdf_id": "pyt1.1",
"2": "Hello World",
"ex_name": "Hello World",
"3": "1",
"line_number": "1",
"4": "print (\"Hello World!\")",
"code": "print (\"Hello World!\")",
"5": "Some Comment",
"comment": "Some Comment"
}
]
如何更改php脚本以实现所需的输出?
答案 0 :(得分:1)
在您的情况下,您应该将mysql_fetch_array()与 MYSQL_ASSOC 标志一起使用:
while ( $row = mysql_fetch_array( $result, MYSQL_ASSOC ) )
文档中的重要内容:
警告此扩展在PHP 5.5.0中已弃用,已被删除 在PHP 7.0.0中。
您可以在此处找到更多信息:https://stackoverflow.com/a/8891552/5297359
答案 1 :(得分:0)
mysql_fetch_array有2个参数。第二个参数是结果类型,默认设置为MYSQL_BOTH
,这意味着它将数字和列名称作为键返回。使用它像:
mysql_fetch_array($stmt, MYSQL_ASSOC)
注意:mysql_
函数已弃用,您应该考虑开始使用mysqli_
函数,MySQLi
类或PDO
。