繁体   English   中英

如何从JSON,PHP或javascript中删除方括号?

[英]How to Remove Square bracket from JSON, PHP or javascript?

要求:如何转换以下json格式。

来自:

[
{"u0":{"user_id":"124", "name":"Eloise R. Morton"}},
{"u1":{"user_id":"126", "name":"Mary S. Williams"}}
]

至 :

 {
 "u0":{"user_id":"124", "name":"Eloise R. Morton"},
 "u1":{"user_id":"126", "name":"Mary S. Williams"}
 }

我想从JSON中删除/删除第一个和最后一个方括号。

PHP代码:

$sql = "SELECT * FROM user_list";
$result = $conn->query($sql);
$user_count=0;
if ($result->num_rows > 0) {
    // output data of each row
    while($row = $result->fetch_assoc()) {
        $user_count_id="u".$user_count;
        $user_count++;
        $user_list[]=   array($user_count_id=>$row);
    }
} else {
    echo "0 results";
}
echo json_encode($user_list);
$conn->close();

JavaScript代码:

function update_user_list(){
    //Fetch data
        $.ajax( "user_list.php" ).done(function(json) {
        user_list       =   json;
        var add_user="";
        for(var obj in user_list){
            add_user +=     '...generate HTML.....';
        }
        $('.user-list-panel .user-table').html(add_user);
        })
    .fail(function() {
        alert( "error" );
    });

当您将值添加到php中的数组时,您自己添加了它们:

 $user_list[] = array($user_count_id=>$row);

如果您不想这样做,则应使用:

$user_list[$user_count_id] = $row;

您可以通过更新PHP代码来实现。

if ($result->num_rows > 0) {
    // output data of each row
    while($row = $result->fetch_assoc()) {
        $user_count_id="u".$user_count;
        $user_count++;
        $user_list[$user_count_id]=$row;
    }
}

//上面的脚本将创建具有唯一键的一维数组。

您必须稍微修改代码才能获得设计的结构:

$sql = "SELECT * FROM user_list";
$result = $conn->query($sql);
$user_count=0;
if ($result->num_rows > 0) {
    // output data of each row
    while($row = $result->fetch_assoc()) {
        $user_count_id="u".$user_count;
        $user_count++;
        $user_list[$user_count_id] = $row;
    }
} else {
    echo "0 results";
}
echo json_encode($user_list);
$conn->close();

参见以下行: $ user_list [$ user_count_id] = $ row;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM