我正在编写一个android list-detail应用程序,我必须从json加载app结构。我正在尝试用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项目。相当可怕的框架!
答案 0 :(得分:0)
尝试将 ArrayList&lt; StructureItem&gt; 替换为StructureItem类中的 StructureItem [] 。