您好我非常坚持使用php和mysql创建json。我在这里得到了很多类似的问题和答案,但即使花了很多时间我也无法得到我想要的东西。我需要从mysql行输出的json像
{ "application": [ { "ver": "1.0", "name": "myapp1" }, { "ver": "1.2", "name": "myapp2"}]}
我使用以下代码生成json,
$result=mysql_query("SELECT * FROM btrack_transaction");
$no_of_rows = mysql_num_rows($result);
$rows = array();
//retrieve and print every record
while($r = mysql_fetch_assoc($result)){
$rows[] = array('data' => $r);
}
// now all the rows have been fetched, it can be encoded
echo json_encode($rows);
但我的输出看起来像
[[ { "ver": "1.0", "name": "myapp1" }, { "ver": "1.2", "name": "myapp2"}]]
如何获得我想要的json格式。
提前致谢,
答案 0 :(得分:0)
while ($r = mysql_fetch_assoc($result)) {
$rows[] = $r;
}
echo json_encode(array('application' => $rows));
你需要摆脱每个元素周围的额外array('data' => $r)
包装(我不知道为什么它不会出现在你说的输出中),并添加{ {1}}最后添加该元素。