如何在expandable listview中显示JSON解析数据?

时间:2016-03-02 14:00:05

标签: android json listview expandablelistview

我使用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

2 个答案:

答案 0 :(得分:0)

JSON文件由许多组件组成。下面是定义JSON文件组件及其描述的表

Array([)

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

Objects({)

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

Key

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

Value

每个键的值都可以是字符串,整数或双重e.t.c

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

答案 1 :(得分:0)

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

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

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