java json 内部类_Json Jackson没有内部类的反序列化

public class User

{

public enum Gender { MALE, FEMALE };

public static class Name {

private String _first, _last;

public String getFirst() { return _first; }

public String getLast() { return _last; }

public void setFirst(String s) { _first = s; }

public void setLast(String s) { _last = s; }

}

private Gender _gender;

private Name _name;

private boolean _isVerified;

private byte[] _userImage;

public Name getName() { return _name; }

public boolean isVerified() { return _isVerified; }

public Gender getGender() { return _gender; }

public byte[] getUserImage() { return _userImage; }

public void setName(Name n) { _name = n; }

public void setVerified(boolean b) { _isVerified = b; }

public void setGender(Gender g) { _gender = g; }

public void setUserImage(byte[] b) { _userImage = b; }

}

JSON文件可以以这种方式使用所谓的“全数据绑定”反序列化:

ObjectMapper mapper = new ObjectMapper();

User user = mapper.readValue(new File("user.json"), User.class);

我的问题是使用内部类“名称”。我想在不使用内部类的情况下做同样的事情。 “用户”类将成为这样的:

import Name;

import Gender;

public class User

{

private Gender _gender;

private Name _name;

private boolean _isVerified;

private byte[] _userImage;

public Name getName() { return _name; }

public boolean isVerified() { return _isVerified; }

public Gender getGender() { return _gender; }

public byte[] getUserImage() { return _userImage; }

public void setName(Name n) { _name = n; }

public void setVerified(boolean b) { _isVerified = b; }

public void setGender(Gender g) { _gender = g; }

public void setUserImage(byte[] b) { _userImage = b; }

}

这意味着找到一种方法,以便执行反序列化到指定映射器所需的所有类。

这可能吗?我查看了文档,但找不到任何解决方案。

我的需求来自于我使用Javassist库来创建这样的类,并且它不支持内部或匿名类。

预先感谢您

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值