在android中解析单行JSON

时间:2016-02-03 06:49:33

标签: android json listview

我正在尝试创建一个解析JSON并填充列表视图的应用。我想要的是每当点击一个项目时,相关数据就会从JSON中解析出来。例如:

活动1:

包含着名人物名单

<1>圣雄甘地

2亚伯拉罕林肯

3纳尔逊曼德拉

4伊丽莎白女王

活动2

显示listview的单击项目的传记。第二项活动的JSON包含个性传记列表

现在我要做的是每当点击listview的项目时,解析该特定项目的JSON。如果单击Mahatma Gandhi,那么只有传记,如果Mahatma Gandhi即只有JSON数组的第一行在第二个活动中获取

修改

MainActivity

import pip
installed_packages = pip.get_installed_distributions()
installed_packages_list = sorted(["%s==%s" % (i.key, i.version) for i in installed_packages])
print(installed_packages_list)

当在listview上单击该项时,如何设置onclicklistener以便它解析行no。类似于列表视图的id的Json点击.E.g 如果项目没有。单击列表视图3。排号在第二个活动中解析了3个json

2 个答案:

答案 0 :(得分:1)

解析json数组并将传记保存在java bean(getters和setter)中,这样你就会得到一个传记的ArrayList(例如:new Biography(name,age,lifesummary))。您可以获取所选传记的列表视图索引,并将bean类(Parceable)传递给第二个活动(使用intent putextra)并在那里显示所需的结果。

答案 1 :(得分:0)

您不应该以JSON或类似的形式保存数据。应用程序需要模型,例如:Person,FamousPerson,Country ...其中包含数据。考虑使用GSON库以有效的方式做到这一点。

例如,使用json数据:

{“t_id”:“123SBD2SF”; “t_name”:“亚伯拉罕林肯”; }

您将拥有相应的型号:

public class FamousPerson {
    @SerializedName("t_id")
    private String id;
    @SerializedName("t_name")
    private String name;
    @SerializedName("your json object key")
    private ...

    // get, set function
}

使用GSON只需调用mGson.fromJson(jsonString,FamousPerson.class)。数据自动处理