我正在编写一个 android 列表详细信息应用程序,我必须从 json 加载应用程序结构。我正在尝试使用 Gson (Java) 将非最佳 json 反序列化为对象,然后我将动态生成片段(我希望可以做到:-))。
我在主 FragmentActivity 中有标签,一个标签有自己的片段和自己的 json。每个选项卡都有自己的片段堆栈,用于通过后退和向上按钮进行控制。
我有这个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 项目。相当可怕的框架!