繁体   English   中英

将Json树反序列化为Java中的对象以构建android app的结构

[英]deserialize Json tree to objects in Java for structure of android app

我正在编写一个android list-detail应用程序,我必须从json加载应用程序结构。 我正在尝试使用Gson(Java)将非最佳json反序列化为对象,从中我将动态生成片段(我希望可以做到这一点:-))。

我在主要FragmentActivity中有选项卡,一个选项卡有自己的片段和自己的json。 每个选项卡都有自己的fragmentstack,用于使用后退和向上按钮进行控制。

我有这个json:

{
    "data": [],
    "children": [
        {
            "data": {
                "id": "5",
                "deep": "0",
                "url": "compare",
                "type": "navigation",
                "name": "Vergleich",
                "text": null,
                "number": null
            },
            "children": [
                {
                    "data": {
                        "id": "12",
                        "deep": "1",
                        "url": "information",
                        "type": "navigation",
                        "name": "information",
                        "text": null,
                        "number": null
                    },
                    "children": []
                },
                {
                    "data": {
                        "id": "13",
                        "deep": "1",
                        "url": "application",
                        "type": "navigation",
                        "name": "application",
                        "text": null,
                        "number": null
                    },
                    "children": []
                }
            ]
        }
    ]
}

我为gson创建了此类:

public class StructureItem {
    StructureData data;
    ArrayList<StructureItem> children;
}
public class StructureData {
    public int id;
    public int deep;
    public String url;
    public String type;
    public String name;
    public String text;
    public String number;
}

我试图用创建对象:

String s = LoadJson();
Gson gson = gsonBuilder.create();
StructureItem root = gson.fromJson(s, StructureItem.class);

但是不能成功。

您将如何解决我的问题? 任何简单的解决方案?

对此有一些注释会很棒。 我编程了几年,但这是我的第一个android项目。 相当可怕的框架!

尝试将ArrayList <StructureItem>替换为StructureItem类中的StructureItem []

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM