Android:使用GSON处理不同类型的值

时间:2016-12-09 10:48:01

标签: android json gson

在我的应用程序中,我从wordpress(RESP API v2)网站获取并解析JSON流。

我使用 OKHTTP RETROFIT ,使用 GSON 转换器来读取流并将其解析为我的对象。

通常,我的GSON转换器需要一个对象,但由于最近的更新,网站给了我一个布尔值(false)。该值尚未设置。

这是我的问题:"我可以使用GSON Serialize处理相同变量名的不同类型的值以及如何处理?"

谢谢!

这是我的目标:

public static class StageProfileImage {





        //////////////////////////////////////////////////
        // Variables
        //////////////////////////////////////////////////
        @SerializedName("url")
        private String stageProfileImageUri;
        //////////////////////////////////////////////////





        //////////////////////////////////////////////////
        // Setters & Getters
        //////////////////////////////////////////////////
        public String getStageProfileImageUri() {
            return stageProfileImageUri;
        }
        public void setStageProfilUri(String stageProfileImageUri) {
            this.stageProfileImageUri = stageProfileImageUri;
        }
        /////////////////////////////////////////////





    }

重要提示:我无法修改信息流。

2 个答案:

答案 0 :(得分:0)

尝试@SerializedName(value =“url”,alternate = {“altkey1”,“altkey2”})

编辑:更改为更通用的示例。

答案 1 :(得分:0)

谢谢,但这不是我的问题。实际上,GSON无法从网站转换流,因为而不是:

q_bid

我的信息流给了我:

"stage_profile_image" : {
  ...
}

在第一个中,我得到一个对象但是在第二个中我得到一个布尔值,它不是它期望的值的类型,而GSON无法进行转换。