Pad*_*dyD 8 java json dictionary fasterxml
我有一个POJO,看起来像这样:
public class Thing
{
private final int x;
private final int y;
private final int z;
public Thing(String strThing)
{
// parse strThing which is in some arbitrary format to set x, y and z
}
@Override
public String toString()
{
// return a string representation of thing
// (same format as that parsed by the constructor)
}
@Override
public boolean equals(Object obj) ...
@Override
public int hashCode() ...
}
Run Code Online (Sandbox Code Playgroud)
我希望将它用作映射的键(例如HashMap<Thing, SomeOtherPOJO>),当序列化为json时,使用Thing的toString()表示键,并且在反序列化时使用String构造函数.这可能是使用像jackson数据绑定注释这样简单的东西吗?解决这个问题的最佳方法是什么?
Pad*_*dyD 26
通过实验(我认为的文件可能是一个更清晰一点上这个)我发现我可以用JsonCreator注释的String构造函数和JsonValue对toString()的方法来达到我想要的东西:
public class Thing
{
private final int x;
private final int y;
private final int z;
@JsonCreator
public Thing(String strThing)
{
// parse strThing which is in some arbitrary format to set x, y and z
}
@Override
@JsonValue
public String toString()
{
// return a string representation of thing
// (same format as that parsed by the constructor)
}
@Override
public boolean equals(Object obj) ...
@Override
public int hashCode() ...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7048 次 |
| 最近记录: |