我想从User类获取此json:

{
    "id" : "1234",
    "campaignId" : {
        "campaignId" : "whatever"
    }
}


这是课程:

class User {

    private String id;
    private String campaignId;

    public String getId() {
        return id;
    }

    public String getCampaignId() {
        return "{ \"campaignId\" : \""+ campaignId +"\" }";
    }

}


但是我有一个错误的json:

{
    "id" : "1234",
    "campaignId" : "{
        \"campaignId\" : \"whatever\"
    }"
}


如您所见,第一级CampaignId是字符串,而不是包含campaignId键的对象。

如何在不创建另一个POJO的情况下实现这一目标?

最佳答案

我想从类User:...
  
  “ campaignId”:{
         “ campaignId”:“随便什么”


...


  私人字串campaignId;


这些东西根本不在一起。

如果您的要求是campaignId应该是嵌套结构(例如地图),则可以对其进行建模。

换句话说:“ bean”中的类型应该不是String。例如,一张地图。或者,也许是一些具有单个成员且是字符串的自写类。

对于您的读者而言,其他任何事情都非常令人困惑。您的代码应传达您的意图。而且,作为字符串的字段不是地图。

就像在说:“在这里,我的可爱猫咪”,实际上,您有一只狗,但您强迫他穿上小猫服装,看起来像只猫。

关于java - 如何在自定义getter中序列化JSON对象?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53228113/

10-09 02:55