Gson - 放置和获取复合对象的ArrayList

时间:2015-04-03 04:10:35

标签: java android json arraylist gson

我有班级NameAndPostion,我将在其中存储用户的姓名和职位。我创建了ArrayListNameAndPosition个对象。

ArrayList<NameAndPosition> LocSenders = new ArrayList<NameAndPosition>();

现在我已使用Gson库

LocSenders转换为JSON字符串
Gson gson = new Gson();
String json = gson.toJson(LocSenders);

我执行了此转换,以便在共享首页中保存LocSenders 现在我想检索&#39; LocSenders&#39;中的所有对象。我使用Gson JSON转换存储的。

我想使用Gson库来完成这项工作 我没有得到Gsons方法gson.fromJson(json, classOfT)。那么该怎么做呢?

NameAndPostion.java

public class NameAndPosition {

    private String name = "";
    private LatLng position = null;


    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public LatLng getPosition() {
        return position;
    }
    public void setPosition(LatLng position) {
        this.position = position;
    }

}

提前致谢。

1 个答案:

答案 0 :(得分:3)

以下是使用gson转换为JSON和JSON的示例。

//Convert to JSON
System.out.println(gson.toJson(employee));

//Convert to java objects
System.out.println(gson.fromJson("{'id':1,'firstName':'Lokesh','lastName':'Gupta','roles':['ADMIN','MANAGER'],'birthDate':'17/06/2014'}"
                            , Employee.class));

反序列化集合

List<Employee> yourClassList = new Gson().fromJson(jsonArray, Employee.class);

对于通用集合。

Type listType = new TypeToken<ArrayList<YourClass>>() {
                    }.getType();
List<YourClass> yourClassList = new Gson().fromJson(jsonArray, listType);

你也可以参考链接。

Google Gson - deserialize list<class> object? (generic type)