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

Gson - putting and getting ArrayList of composite objects

我有 class NameAndPostion 我要在其中存储用户的姓名和职位。我已经创建了 ArrayList 个对象 NameAndPosition

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

现在我已经使用 Gson 库将 LocSenders 转换为 JSON 字符串

Gson gson = new Gson();
String json = gson.toJson(LocSenders);

我进行此转换是为了在共享首选项中保存 LocSenders
现在我想检索我使用 Gson JSON 转换存储的 'LocSenders' 中的所有对象。

我想使用 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;
    }

}

提前致谢。

这是使用 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);

你也可以参考下面link。

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