我想从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/