Android Gson—从对象创建json时,引号(";)中是否可能有int字段?
我正在使用gson lib从对象创建json。后端开发人员要求创建的所有值应位于“”引号事件int/long/boolean字段中。例如,我的json如下所示: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
{
"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]);
}