【问题标题】:Creating JSON array with information retrieved from database使用从数据库中检索到的信息创建 JSON 数组
【发布时间】:2013-11-13 05:47:45
【问题描述】:

我正在尝试使用从数据库中选择的信息创建一个 JSON 数组,但我无法为该数组命名。

while($row = mysql_fetch_array($result))
{
        $arr = array('isim' => $row['ename'], 'yer' => $row['eplace'], 'top' => $row['society'], 'tar' => $row['edate'], 'saat' => $row['ehour']);
        echo json_encode($arr);
}

我想看看结果;

{"事件":[{"isim":"eere","yer":"dddd","top":"asdfsdffgdfgdfg","tar":"2013-10-18","saat": "12:46"}{"isim":"fhjfr","yer":"yhjrhj","top":"ryjryjrj","tar":"2013-10-30","saat":"12: 45"}{"isim":"sfsgsg","yer":"sfgssfg","top":"sgsfgsg","tar":"2013-10-31","saat":"12:45"} ]}

但我看不到

{“事件”:[

在开始和

]}

在最后。

谢谢。

【问题讨论】:

    标签: php mysql database json web


    【解决方案1】:

    要生成有效的 JSON,首先需要将所有内容添加到多维数组中,然后在完成后对其进行编码:

    $arr = array();
    while($row = mysql_fetch_array($result))
    {
            $arr[] = array('isim' => $row['ename'], 'yer' => $row['eplace'], 'top' => $row['society'], 'tar' => $row['edate'], 'saat' => $row['ehour']);
            // or perhaps just: $arr[] = $row;
    }
    echo json_encode($arr);
    

    另请注意,mysql_* 函数已弃用。

    要将所有内容放在events 键下,您需要以下内容:

    $arr['events'][] = array('isim' => $row['ename'], 'yer' => $row['eplace'], 'top' => $row['society'], 'tar' => $row['edate'], 'saat' => $row['ehour']);
    

    【讨论】:

    • 谢谢,但我怎样才能添加 {"events":[ 部分。我认为它是 JSON 节点的名称?可以直接用echo写吗?
    • 谢谢你,你是救命恩人 :)
    • 仍然想知道 Oracle 何时会在 MySQL 中基于 SELECT/INSERT 和 UPDATE 查询实现 SQL JSON 函数(MySQL 5.5+ 已经在 EXPLAIN 语句中使用了 JSON 算法).. XML 已经存在于 SQL 中函数提取值..
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多