douhuireng4407 2017-01-12 11:21
浏览 111
已采纳

PHP JSON用逗号和括号编码

I have a php script to create a json output getting data from mysql database:

  1. <?php
  2. include("myconnection.php");
  3. //Creamos y ejecutamos la consulta
  4. $sql = "SELECT * FROM myTable where value='1003'";
  5. $result=mysql_query($sql);
  6. while($row = mysql_fetch_array($result)){
  7. $value1 = $row['value1'];
  8. $value2 = $row['value2'];
  9. $data = json_encode(
  10. array("value1" => $value1,
  11. "value2" => $value2));
  12. echo $data;
  13. }
  14. ?>

I obtain a result like this:

{"value1":"847534837","value2":"Regular"}{"value1":"847534838","value2":"Regular"}

I want to obtain a result with brackets and commas like this:

[{"value1":"847534837","value2":"Regular"},{"value1":"847534838","value2":"Regular"}]

I've tried to put some echo sentences like this:

  1. echo "[";
  2. while($row = mysql_fetch_array($result)){
  3. $value1 = $row['value1'];
  4. $value2 = $row['value2'];
  5. $data = json_encode(
  6. array("value1" => $value1,
  7. "value2" => $value2)).",";
  8. echo $data;
  9. }
  10. echo "]";

But the result finishes with ",]" like this:

[{"value1":"847534837","value2":"Regular"},{"value1":"847534838","value2":"Regular"},]

I would like some help.

展开全部

  • 写回答

2条回答 默认 最新

  • douwei1930 2017-01-12 11:25
    关注

    Let json_encode() do the work for you, don't try to roll your own encoder!!!

    To get the json string output you desire, just stick items you're currently encoding one at a time in another array and encode the who enchilada one time.

    1. $final_array = []; notation
    2. while($row = mysql_fetch_array($result)){
    3. $final_array[] = ["value1" => $row['value1'],
    4. "value2" => $row['value2']];
    5. }
    6. echo json_encode($final_array);

    NOTE: I'm assuming you're using PHP >= 5.4 and have the [] notation, otherwise replace [] and ["value1" => $row['value1'], "value2" => $row['value2']] with array() and array("value1" => $row['value1'], "value2" => $row['value2']) respectively.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部