在过去的一个手动作为数据,将其本地存储在数据库中的列表创建。 现在,我想分析这些数据,并把它们通过进口JSON选项进入火力DBS,但我得到什么并不像火力生成JSON。
我得到的是:
[
{
"id":"id_1",
"text":"some text"
},
{
"id":"id_2",
"text":"some text2"
},
...
]
我想是这样的:
{
"id_1": {
"text":"some text",
"id":"id_1"
},
"id_2":{
"text":"some text2",
"id":"id_1"
},
...
}
我的卡类
class Card{
private String id;
private String text;
}
检索数据
//return list of card
List<Card> cards =myDatabase.retrieveData();
Gson gson = new Gson();
String data = gson.toJson(cards);
所以,我怎么能我做到这一点(在我看来)动态命名为JSON看起来像由火力生成的属性呢?
编辑:我发现GSON具有FieldNamingStrategy接口,能够改变的字段的名称。 但在我看来这不是动态的,因为我想要的。
EDIT2我的临时补丁是只覆盖的toString()
@Override
public String toString() {
return "\""+id+"\": {" +
"\"text\":" + "\""+text+"\","+
"\"id\":" +"\""+ id +"\","+
"\"type\":"+ "\""+ type +"\""+
'}';
}