我遇到了一个问题,我希望通过jackson在我们的项目中对很多类进行反序列化。问题是大多数类看起来像这样:
public class FinalFieds{
private final String field;
private final String secondField;
public FinalFieds(String field, String secondField)
{
this.field = field;
this.secondField = secondField;
}
public String getField()
{
return field;
}
public String getSecondField()
{
return secondField;
}
}
所以我发现杰克逊你可以做这样的事情:
public FinalFieds(@JsonProperty("field") String field, @JsonProperty("secondField") String secondField)
这很好用。问题是我无法在intellij中进行结构替换以便为我工作。当我尝试:
我所有的比赛都在“未分类比赛”栏目中。 此外,当我尝试替换时,Intellij只是从类中删除了一个构造函数。
关于我做错了什么或者它是intellij中的一个已知错误?
即使是一个过于复杂的正则表达式,它将帮助我替换它(对于单个参数构造函数,我可以自己创建它;问题是这些类中的构造函数具有多参数构造函数)。
答案 0 :(得分:1)
这是一个错误或缺少的功能取决于你如何看待它。 https://youtrack.jetbrains.com/issue/IDEA-141143
但是,可以分两步完成。首先搜索要注释的构造函数参数:
class $Class$ implements OurCommonInterface {
$Class$($Type$ $parameter$);
}
其中$parameter$
分钟:1
最高:unlimited
,This variable is target of the search
已经过检查。
然后使用范围Previous Search Results
中带注释的参数替换参数:
$Type$ $parameter$
替换模板:
@JsonProperty("$parameter$") $Type$ $parameter$