Android Gson—从对象创建json时,引号(";)中是否可能有int字段?

Android Gson—从对象创建json时,引号(";)中是否可能有int字段?,android,serialization,gson,deserialization,Android,Serialization,Gson,Deserialization,我正在使用gson lib从对象创建json。后端开发人员要求创建的所有值应位于“”引号事件int/long/boolean字段中。例如,我的json如下所示: { "age": 26, "email": "norman@futurestud.io", "isDeveloper": true, "name": "Norman" } ->我需要以下格式: { "age": "26", "email": "norman@futurestud.io", "isDevelo

我正在使用gson lib从对象创建json。后端开发人员要求创建的所有值应位于“”引号事件int/long/boolean字段中。例如,我的json如下所示:

{
  "age": 26,
  "email": "norman@futurestud.io",
  "isDeveloper": true,
  "name": "Norman"
}
->我需要以下格式:

{
  "age": "26",
  "email": "norman@futurestud.io",
  "isDeveloper": "true",
  "name": "Norman"
}

我是否应该将所有字段从int改为String,或者有什么方法可以做到这一点?提前谢谢

实现这一目的的唯一方法是将Int存储为String,然后将数据类转换为json字符串。由于Gson使用自动类型转换,您不能告诉Gson将Int转换为String并提供json


根据输出的json创建POJO,这是唯一的选择。

您的代码是JavaScript对象文本,而不是json。 那就试试这个吧


var obj={“年龄”:26,“电子邮件”:norman@futurestud.io“,“isDeveloper”: 对,“名称”: “诺曼”}

用于(obj中的var k){

}


只需将整数或布尔值转换为字符串
if (obj.hasOwnProperty(k))
{
    obj[k] = String(obj[k]);
}