dongmo6937
2019-07-18 07:58
浏览 359
已采纳

如何以key:value格式编写JSON数组

I am trying to get a JSON array form PHP output which fetches multiple values from the database and converts to JSON array. The PHP code is as follows:

php
$result = $conn->query("SELECT dbname FROM users ORDER BY dbname ASC");
//defined second array for dbnames' list
$dblist = array();
while($row = $result->fetch_assoc()){
    //array_push($response['dblist'],$row['dbname']);
    $dblist = array('name'=>$row['dbname']);
}
$response['dblist'] = $dblist;
echo json_encode($response);

It gives the following output:

JSON
{"dblist":["a","arsod"]}

But, in order to extract values from JSON, the needed array is like:

json
{"dblist":{"name":"a","name":"arsod"}}

how can I achieve this? I want to fetch these values in android app.

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • dongren5293 2019-07-18 08:04
    已采纳

    Try this:

    $result = $conn->query("SELECT dbname FROM users ORDER BY dbname ASC");
    $dblist = [];
    while($row = $result->fetch_assoc()){
        $dblist[] = ['name'=>$row['dbname']];
    }
    $response['dblist'] = $dblist;
    
    echo json_encode($reposne);
    

    I basicaly added [] to $dbList so it looks like $dbList[] = ...

    And with this, you will get a valid JSON that looks like this:

    {"dblist":[{"name":"a"},{"name":"b"}]}
    

    AS you requested output is not a good idea, since you will have duplicate keys in JSON

    评论
    解决 无用
    打赏 举报
查看更多回答(1条)

相关推荐 更多相似问题