我有一个像这样的POJO,我正在使用GSON序列化为JSON:
public class ClientStats {
private String clientId;
private String clientName;
private String clientDescription;
// some more fields here
// getters and setters
}
这是我的做法:
ClientStats myPojo = new ClientStats();
Gson gson = new Gson();
gson.toJson(myPojo);
现在我的json将是这样的:
{"clientId":"100", ...... }
现在我的问题是:有什么办法可以clientId
代替更改clientId
变量名呢?在Gson中,我可以在clientId
变量顶部使用任何注释吗?
我想要这样的东西:
{"client_id":"100", ...... }
您可以使用@SerializedName(“ client_id”)
public class ClientStats {
@SerializedName("client_id")
private String clientId;
private String clientName;
private String clientDescription;
// some more fields here
// getters and setters
}
编辑:
您也可以使用它,以通用方式更改所有字段
Gson gson = new GsonBuilder()
.setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES)
.create()
我正在努力用本地化反序列化世界天气在线API结果。 是否有更好、更简单的解决方案,只为lang对象编写一个自定义反序列化器,并允许GSON自动反序列化其余数据?
问题内容: 使用GSON,如何将列表的类名称附加到输出的json字符串中?我浏览了api,错过了做此操作的任何参考。我在实际代码中使用了GsonBuilder,但也没有看到任何选项。 这给出以下输出: json = [{“ name”:“ Alice”},{“ name”:“ Bob”}] 如何获得以下输出? 或类似的东西。 json = {“ person”:[{“ name”:“ Alice”
问题内容: 我一直在计划使用simpleXML来满足序列化需求,但是我想尝试使用JSON来学习一些新知识。 这是我用来尝试使用Gson 1.7.1序列化测试POJO的ArrayList的代码。 注意:为了简化代码,我删除了字符串“ s”的读取器/写入器。 这是我得到的输出: 在我的新手看来,这看起来是正确的。仅,反序列化的对象列表包含基本对象,而不是TestObject的I序列化。谁能给我解释一下
我之前的问题没有得到任何结果,可能是我问得不对,或者太详细了。 现在我的基本问题是,如何将一个具有一个类名的JSON对象反序列化为一个具有不同类名的Java对象? 例如,服务器发送/期望的JSON类是“18”(我对此控制为零)。我的Java班不可能是“18”,所以是“_18”。 简单地执行new Gson().fromjson()没有任何帮助,即使使用了不同的命名策略;_18对象始终为NULL。从
问题内容: 我正在从API检索JSON。我正在使用newtonsoft(这是json.net吗?)将其反序列化为对象列表。有用。 不幸的是,我还需要将此作为JSON传递给其他人(只有我有权访问它们,他们才能直接调用API)。不幸的是,我说这是因为我需要输出与接收到的JSON不同的JSON(属性名称必须不同)。 例如,我有一个名为Person的类,具有一个名为Name的属性。我想获取“人物”,因此我
问题内容: 假设我们有这样的结构: JSON: 和对应的POJO: 响应类 身体类 CatWrapper.class 类别 但是现在让我们说,我们具有相同的结构,但是我们得到的不是 我在上使用GSON(默认json解析器),在提供解决方案时请考虑一下。 我们可以在此处使用泛型,因此响应如下所示: 但是我们不能,因为字段名称是特定于类的。 题: 我如何做才能自动序列化它而不创建太多样板类?我并不真的