我有一个这种格式的JSON文件:
title 1
{
"0" : 2,
"1" : 5,
"2" : 8
}
title 2
{
"1" : 44,
"2" : 15,
"3" : 73,
"4" : 41
}
正如你所看到的那样,索引是动态的 - 在标题1中它们是:“0”,“1”,“2”,标题2是:“1”,“2”,“3”,“4 “
我不知道如何使用GSON阅读此内容。 我需要以某种方式将其转换为java对象,以便我可以继续处理数据。 我们非常欢迎任何帮助。
答案 0 :(得分:0)
首先,页面上显示的JSON无效,JSON无效,因此我的建议是基于以下JSON。只是给你充分的披露。
{
"title 1":{
"0":2,
"1":5,
"2":8
},
"title 2":{
"1":44,
"2":15,
"3":73,
"4":41
}
}
选项1(不是我如何解决这个问题)
这会将它序列化为一个可以循环处理的一般对象。
new Gson().fromJson(yourJsonString,Object.class);
选项2(我认为最好的选择) 如果您可以控制对象凸轮在我身上的行为
{
"listOfTitles":[
{
"title":[
{
"key":"0",
"value":1234
},
{
"key":"1",
"value":12341234
},
{
"key":"2",
"value":123412341234
}
],
"titleName":"title 1"
},
{
"title":[
{
"key":"0",
"value":12341
},
{
"key":"1",
"value":123412
},
{
"key":"2",
"value":12
},
{
"key":"3",
"value":12341
}
],
"titleName":"title 2"
}
]
}
这将允许您构建像...这样的对象。
public class YouObjectName{
private ArrayList<Title> listOfTitles;
private String titleName;
//constructor
//getters and setters
}
public class Title{
private String key;
private Integer value;
//constructor
//getters and setters
}
我会像GSON一样使用这个
new Gson().fromJson(jsonString,YouObjectName.class);
希望有所帮助。