【问题标题】:formatting JSON array output via通过格式化 JSON 数组输出
【发布时间】:2011-01-28 00:24:50
【问题描述】:

我正在用 php 编写一个小服务来输出 JSON 字符串。该服务最终由 Android JSONObject 使用,如果有帮助的话。为了简短起见,我有:

<?php
mysql_connect('localhost','myUser','myPwd') or die('Cannot connect to the DB');
mysql_select_db('ctgscott_myDB') or die('Cannot select the DB');
$query=mysql_query("SELECT name FROM customers ORDER BY name ASC");

while($e=mysql_fetch_assoc($query))
$output[]=$e;
print(json_encode($output));    

mysql_close();

?>

问题是输出以如下形式到达:

[{"name":"Client Number1"},{"name":"Client Number2"}]

'name' 是 'customer' 表中 name 字段的列标题,我没有必要重复它......我正在努力格式化输出,如:

{"name":["Client Number1","Client Number2"]}

任何帮助将不胜感激。谢谢!

【问题讨论】:

    标签: php android mysql json


    【解决方案1】:

    您需要有一个多维数组。试试这个:

    mysql_connect('localhost','myUser','myPwd') or die('Cannot connect to the DB');
    mysql_select_db('ctgscott_myDB') or die('Cannot select the DB');
    $query=mysql_query("SELECT name FROM customers ORDER BY name ASC");
    
    $names['name'] = array();
    while($e = mysql_fetch_assoc($query)) {
       $names['name'][] = $e['name'];
    }
    
    print(json_encode($names));
    

    【讨论】:

    • 谢谢,克里斯托弗!看起来我们已经成功了一半。现在的输出是:{"name":[{"name":"Client Number2"},{"name":"Test Client"}]}
    • 对不起,让我清理一下:{"name":[{"name":"Client Number1"},{"name":"Client Number2"}]} 关于拉动的任何其他想法[]中的“名称”?我遇到的问题是,在没有额外解析的情况下,Android JSONObject 将采用键/值或键/数组()对。当然,可以在那里投入更多的工作......只是试图在一侧或另一侧保持简单。 :)
    • 将 'mysql_fetch_assoc($query)' 更改为 'mysql_fetch_row($query) 给了我:... {"name":[["Client Number1"],["Client Number2"]]} ... 很近。也许我会继续在接收端进行解析。
    • 对不起 - 那是我的错。我已经修改了上面的代码,应该更正它。
    • 太棒了!它完美地工作。 Output={"name":["Client Number1","Client Number2"]} ...谢谢克里斯托弗!该死,我是 StackOverflow 的新手,他们不会让我“向上箭头”这个问题......嘘。
    【解决方案2】:

    这是一篇使用 php http://blog.sptechnolab.com/2011/02/10/android/android-connecting-to-mysql-using-php/ 将数据从 mysql 获取到 android 的好文章。希望你喜欢。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-08-29
      • 1970-01-01
      • 2012-03-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多