【发布时间】:2014-01-14 14:21:27
【问题描述】:
在我的 Android 应用程序中,我返回了一个带有简单键值对的简单 JSON 对象,例如:
{"username" : "billySmith", "gender" : 1}
还有一个具有各自字段名称username 和gender 的枚举(分别为String 和int)。
我正在尝试使用 Gson 解析 JSON 对象并使用 json 值填充枚举字段。我有点不确定如何将 GSON 与枚举一起使用。我熟悉应该将对象的实例设置为等于gson.fromJson(jsonObect, instanceType.class); 的概念。
为了添加更多细节,我使用 Enums 以便可以从我的 android 项目中的任何位置检索值。
if (response.getStatusLine().getStatusCode() == 200 && result != "")
{
GlobalEnum globalEnum = GlobalEnum.getInstance();
Gson gson = new GsonBuilder().create();
globalEnum = gson.fromJson(result, GlobalEnum.class);
}
其中“结果”是 HTTP 响应实体的字符串表示形式
GlobalEnum sn-p:
public enum GlobalEnum
{
INSTANCE;
private String username;
private int gender;
public static GlobalEnum getInstance()
{
return INSTANCE;
}
public int getGender()
{
return gender;
}
public void setGender(int gender)
{
this.gender = gender;
}
}
*编辑: 改写:我有一个枚举,我有一个 jsonObject。枚举和 JSON 对象都有“用户名”和“性别”。使用 Gson,我想解析 JSON 对象,以便将 JSON 对象中的值分配给枚举中的相应字段。
【问题讨论】:
-
你能贴出
GlobalEnum的代码吗? -
您是否为预定义用户设置了固定的用户名/性别值?
-
是的,专门用于测试应用程序,这样我就不必每次运行时都手动输入信息。但是我需要在整个应用程序中全局存储其他东西,例如登录时生成的访问令牌
标签: java android json enums gson