2016-04-11 4 views
1

Требование: Как преобразовать следующий формат json.Как удалить квадратную скобку из JSON, PHP или javascript?

От:

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

To:

{ 
"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"); 
    }); 
+0

'$ .getJSON ('user_list.php', функция (JSON) {' или '$ .ajax ({ DATATYPE: "JSON", URL: "user_list.php", данных: данные, успех: успех }); ' –

ответ

4

Вы добавляете их сами, когда вы добавляете значения в массив в PHP:

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

Если вы Вы не должны этого использовать:

$user_list[$user_count_id] = $row; 
2

Вы можете сделать это, обновив свой 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; 
    } 
} 

// Над сценарием будет создан одномерный массив с уникальными ключами.

1

Вы должны немного изменить свой код, чтобы получить проектную структуру:

$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] = $ строки;

Смежные вопросы