Gson-从对象创建json时,引号(“)中的int字段是否可能?

时间:2018-08-29 09:50:53

标签: android serialization gson deserialization

我正在使用gson lib从对象创建json。后端开发人员要求创建所有值,都应在int / long / boolean字段中用引号引起来。例如,我的json看起来像这样:

function somefunc() {

    Promise.all([match2, match3, match4, match5]).then(results => {
        console.log(results);
        if(results.indexOf(false) > -1) {
            return; // has no effect. somefunc() does NOT return. 
        }
        else {
            // ............
        };

    }).catch(err => {
      console.log(err);
    });

    // this continues to get executed even after the return staement
}

->我需要以下格式:

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

我应该将我的所有字段从int更改为String还是有什么方法可以做到?预先感谢!

2 个答案:

答案 0 :(得分:0)

唯一的方法是将Int作为String存储,然后将Data类转换为json String。由于Gson使用自动类型转换,因此您无法告诉Gson将int转换为String并给您提供json。

根据唯一的输出json创建 POJO

答案 1 :(得分:0)

您的代码是JavaScript对象文字,而不是JSON。 好吧,试试看!


  

var obj = {“ age”:26,“ email”:“ norman@futurestud.io”,“ isDeveloper”:   true,“名称”:                “诺曼”};

     

for(obj中的var k){

if (obj.hasOwnProperty(k))
{
    obj[k] = String(obj[k]);
} 
     

}