【问题标题】:How to show JSON parsed data in expandable listview?如何在可扩展列表视图中显示 JSON 解析数据?
【发布时间】:2016-06-15 10:18:39
【问题描述】:

我正在使用AndroidHive 方法来显示自定义的可展开列表视图。它插入了一个静态数据。但在我的应用程序中,我收到一个 json 数据,我无法解析它以在可扩展列表视图中显示它。

我收到的 JSON 数据是

{
"success": 1,
"Message": "User exist",
"category": [{
    "major_item_id": "1",
    "Major_item_name": "Cement"
}, {
    "major_item_id": "15",
    "Major_item_name": "Wire"
}],
"subcategory": [{
    "major_item_id": "1",
    "name_item":"abc1"
}, {
    "major_item_id": "1",
    "name_item":"pqrs2"
}, {
    "major_item_id": "15",
    "name_item":"lmn"
}, {
    "major_item_id": "15",
    "name_item":"xyz"
}]}

我想要的是格式可扩展的列表视图:

Cement //listHeader
-abc1  // child items
-pqrs2   // child items
Wire
-lmn
-xyz

【问题讨论】:

  • 您到底有什么问题?您无法将 JSON 解析为他们在您发布的链接中使用的 List<String>HashMap<String, List<String>>

标签: android json listview expandablelistview


【解决方案1】:

一个 JSON 文件由许多组件组成。这是定义 JSON 文件的组件及其描述的表格

Array([)

在 JSON 文件中,方括号 ([) 表示 JSON 数组

Objects({)

在 JSON 文件中,大括号 ({) 表示 JSON 对象

Key

JSON 对象包含一个只是字符串的键。键/值对组成一个 JSON 对象

Value

每个键都有一个值,可以是字符串、整数或双精度等

根据您使用的 json 格式,每个实现都不同。您可以在互联网上轻松找到太多示例。 http://www.tutorialspoint.com/android/android_json_parser.htm

【讨论】:

  • 我知道如何解析数据,但我无法将 Cement 与 abc1 、 pqrs2 以及如何在 androidhive 给出的方法中显示它们 - 上面给出的链接
【解决方案2】:

您可以使用 Gson 将 JSON 转换为如下对象:

    Gson gson = new Gson();
    Type listType = new TypeToken<YourObject>() {}.getType();
    YourObject obj = gson.fromJson(getCurrentChat(), listType);

一旦您拥有正确的对象,您就可以使用相应的值来更新您的 ExpandableListView。

【讨论】:

    猜你喜欢
    • 2018-02-16
    • 1970-01-01
    • 2015-05-30
    • 1970-01-01
    • 1970-01-01
    • 2016-12-22
    • 1970-01-01
    • 1970-01-01
    • 2017-03-30
    相关资源
    最近更新 更多