GoJs 的 Php 数据库格式 json

标签 php mysql json gojs

我想把 json 格式化为 js 库的这种格式! GoJs 期待这种格式的 json:

model.nodeDataArray =
                [
                    { key: "1",              username: "Don Meow",   source: "cat1.png" },
                    { key: "2", parent: "1", username: "Demeter",    source: "cat2.png" },
                    { key: "3", parent: "1", username: "Copricat",   source: "cat3.png" },
                    { key: "4", parent: "3", username: "Jellylorum", source: "cat4.png" },
                    { key: "5", parent: "3", username: "Alonzo",     source: "cat5.png" },
                    { key: "6", parent: "2", username: "Munkustrap", source: "cat6.png" }
                ];

在 php 中,我尝试像上面那样返回 json,但我对 json 很陌生,我的示例不起作用!

$users = $db->query("SELECT * FROM user");
$data = array();

while ($result = $users->fetch_assoc())
{
    $data['key'] = $result['id'];
    $data['username'] = $result['username'];
    $data['email'] = $result['email'];
    $data['parent'] = $result['parent'];

    array_push($data, $result);
}

echo json_encode($data);

我的 JSON 看起来像这样:

{"key":"7","username":"Vlada","parent":"4","0":{"id":"1","parent":null,"username":"Ivan","email":"office.asd@gmail.com","password":"qwe123"},"1":{"id":"2","parent":"1","username":"Martinu","email":"asd@gmail.com","password":"qwe123"},"2":{"id":"3","parent":"1","username":"Biljana","email":"asd.com","password":"qwe123"},"3":{"id":"4","parent":"2","username":"Emil","email":"test@test.com","password":null},"4":{"id":"5","parent":"2","username":"Elena","email":"test@test.com","password":null},"5":{"id":"6","parent":"4","username":"Bole","email":null,"password":null},"6":{"id":"7","parent":"4","username":"Vlada","email":null,"password":null}}

我尝试将 id 替换为 key 因为 GoJs 需要定义 key 属性。我的 json 如此不同,我需要像上面的 json 一样格式化输出吗?

我在这里做错了什么?

最佳答案

你只需要改变你在数组中的存储方式

$users = $db->query("SELECT * FROM user");
$data = array();

while ($result = $users->fetch_assoc())
{
$row = array (
    "key" => $result['id'],
    "username" => $result['username'],
    "email" => $result['email'],
    "parent" => $result['parent'],
);

array_push($data, $row);
}

echo json_encode($data);

关于GoJs 的 Php 数据库格式 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40267438/

相关文章:

php - 如何更改 sql 查询框的 phpmyadmin 字体大小?

android - listView android 在一个列表中可点击,在其他列表中不可点击

java - 如何使用JDBC查看数据库的具体行数

android - RoboSpice-改造POJO

javascript - 选择嵌套 JSON 对象并填充下拉列表

php - MySQL自动递增和选择计数

php - 缓存超过 1mb 的内存缓存替代品

javascript - 使用推送构建 JSON 对象数组时出现意外行为

javascript - 移动使用 Dropzone.js 和 PHP 上传的照片

mysql分隔符问题