例如,目前我正在从 Google API 获取餐馆列表。然后我必须创建一个带有 getter 和 setter 的餐厅类,然后我必须创建该类的对象并使用返回的 json 中的每个字段手动填充它们。
有没有比手动完成所有工作更快的方法?
最好的办法是找到该特定 API 的库。如果做不到这一点,您可以使用 JSON 而不将它们映射到 Java Bean(即,只需解析 JSON 并通过执行parsed.getString("city_name")
等操作来处理解析的 JSON)。杰克逊是一个很好的图书馆。
您还可以尝试从返回的 JSON 中生成 JSON 模式,然后使用它来自动生成 Java Beans 代码,然后将其与Jackson之类的 JSON 库一起使用。我试过一次,但似乎你必须修复生成的 JSON 模式,因为上面引用的自动模式生成工具目前不是很好。
我所做的只是创建一个与返回的 json 字符串匹配的对象,并使用 gson.fromjson() 将值放入对象中
目的。
public class Return {
private String Status;
private String[] Data;
public Return(String Status, String[] Data){
this.Status=Status;
this.Data=Data;
}
public String getStatus() { return Status; }
public String[] getData() { return Data; }
}
填充对象的代码。
java.lang.reflect.Type listType = new TypeToken<Return>(){}.getType();
Return return2= new Gson().fromJson(myresponse.toString(), listType);