使用php创建json文件结构

使用php创建json文件结构,php,json,Php,Json,任何帮助都将不胜感激 我已经做了一段时间了,但似乎无法让它发挥作用。我做错了什么 我试图使用php获得下面JSON结构的输出。看看下面输出的差异 $mysqli = new mysqli('localhost','root','1234','root'); $records = array(); if ($result = $mysqli->query("SELECT * FROM users")) { while($row = $result->fetch_array(M

任何帮助都将不胜感激

我已经做了一段时间了,但似乎无法让它发挥作用。我做错了什么

我试图使用php获得下面JSON结构的输出。看看下面输出的差异

$mysqli = new mysqli('localhost','root','1234','root');
$records = array();
if ($result = $mysqli->query("SELECT * FROM users")) {

    while($row = $result->fetch_array(MYSQL_ASSOC)) {
            $records[] = $row;
    }
    $json = json_encode($records, JSON_PRETTY_PRINT);

}

   file_put_contents('records.js', $json, FILE_APPEND);
它现在输出的内容:
[
{
“id”:“2”,
“卷”:“卷1”,
“姓名”:“a”,
“内容”:“,
“cssanimate”:“反弹”
},
{
“id”:“2”,
“卷”:“卷1”,
“姓名”:“a”,
“内容”:“,
“cssanimate”:“反弹”
},
{
“id”:“2”,
“卷”:“卷1”,
“姓名”:“a”,
“内容”:“,
“cssanimate”:“反弹”
} 
]
我希望输出为:
var数据=[{
{
标签:[{
“id”:“2”,
“卷”:“卷1”,
“姓名”:“a”,
“内容”:“,
“cssanimate”:“反弹”
}]
},
{
标签:[{
“id”:“2”,
“卷”:“卷1”,
“姓名”:“a”,
“内容”:“,
“cssanimate”:“反弹”
}]
},
{
标签:[{
“id”:“2”,
“卷”:“卷1”,
“姓名”:“a”,
“内容”:“,
“cssanimate”:“反弹”
}]
} 
}]

您有一个额外级别的
{
在所需的输出中无效,因此我将忽略它。要使用
标记
键创建对象,您需要使用该键创建一个PHP关联数组。然后要使标记成为一个对象数组,您需要将该行包装到另一个数组中

while($row = $result->fetch_array(MYSQL_ASSOC)) {
    $records[] = array('tags' => array($row));
}

我不知道为什么需要将每个对象嵌套在另一个对象和数组中的单个元素数组中,但这是一个单独的问题。

您有一个额外的
{
这在所需的输出中无效,因此我将忽略它。若要使用
标记
键创建对象,需要使用该键创建一个PHP关联数组。然后,若要使标记成为对象数组,需要将该行包装到另一个数组中

while($row = $result->fetch_array(MYSQL_ASSOC)) {
    $records[] = array('tags' => array($row));
}

我不知道你为什么需要一个嵌套在另一个对象和数组中的单个元素数组中的每个对象,但这是一个单独的问题。

什么是
$data
?如果你想要
标签
键,你应该自己添加它。没有人会帮你这么做。@u mulder抱歉!那是一个错误:)@u mulder哈哈谢谢你的评论,但我不能这就是为什么我在这里问专业人士的原因。我不是在问答案……也许是一些指导?顺便问一下,你明白
[
之间的区别吗{
在json中?你确定你需要对象的数组吗?我打赌这是无效的结构。
$data
是什么?如果你想要
标签
键,你应该自己添加。没有人会帮你添加。@u_mulder抱歉!那是个错误:)@u_mulder哈哈谢谢你的评论,但我想不出来…这就是我来这里的原因我不是在问答案……也许是一些指导?顺便问一下,你明白
[
之间的区别吗{
在json中?你确定你需要对象的数组吗?我打赌这是无效的结构。谢谢你!@Barmar我现在知道这是怎么做的,并从中学习到了。谢谢buddyThank你!@Barmar我现在知道这是怎么做的,并从中学习到了。谢谢老兄
while($row = $result->fetch_array(MYSQL_ASSOC)) {
    $records[] = array('tags' => array($row));
}