如何在android中格式化来自php的Json数据?

时间:2012-08-31 08:26:36

标签: php android json

我有以下php文件....         

    mysql_connect("localhost","root","");
    mysql_select_db("database_name");
    $sql=mysql_query("select * from members");
    while($row=mysql_fetch_assoc($sql)) $output[]=$row;
    print(json_encode($output));
    mysql_close();
     ?>

用这个我得到android中的所有数据以下是我的android内容,

        BufferedReader reader = new BufferedReader(new InputStreamReader(
    is, "iso-8859-1"), 8);
    StringBuilder sb = new StringBuilder();
    String line = null;
    while ((line = reader.readLine()) != null) {
        sb.append(line + "\n");
    }

    is.close();
    String json = sb.toString();

我把json作为一个字符串。从android但现在我想在listview中使用该数据。我无法理解如何使用它。请给我一些想法或建议。

4 个答案:

答案 0 :(得分:2)

从Json解析数据并将其保存在ArrayList中并将该arrayList设置为Listview。

您可以从String创建Json对象,如下所示。

JSONObject jsonObject = new JSONObject(json);

您可以从String创建Json Array对象,如下所示。

JSONArray ja = new JSONArray(json);

看看这个Tutorial

答案 1 :(得分:1)

This链接帮助给你,这里详细解释了json数据解析。

答案 2 :(得分:1)

JSON package within Android为您提供所需的课程。

您可以使用以下数据轻松创建JSONObject:

JSONObject jsonObject = new JSONObject(json);

如果你有一个JSONArray,你可以对JSONArray类做同样的事情:

JSONArray jsonArray = new JSONArray(json);

只要它是有效的JSON,JSON的来源就不相关了。

您需要在Java中创建模型类,并将解析后的JSON数据提供给模型。然后可以使用它们在ListView中显示内容。

答案 3 :(得分:1)

我强烈推荐GSON库将你的json字符串序列化为java对象。您可以在http://code.google.com/p/google-gson/

获取GSON包

一旦你将GSON添加到你的android构建路径,其余的都是微不足道的。从json字符串解析为java对象就像这样简单,

gsonObject.fromJson("JSON STRING", ObjectModel.class);

有关Gson api的更多信息,请点击此处

https://sites.google.com/site/gson/gson-user-guide