【发布时间】:2016-12-01 13:43:36
【问题描述】:
所以这是我在将复杂的 json 转换为 java 时面临的问题
目的。
传入的json是这样的:
{
"view": {
"unit": {
"sc": {
"private": 6,
"public": 6
},
"step": "PREPARE",
"id": 3037,
.....
}
请注意,sc 具有 java 关键字 private 和 public 作为其字段。
在客户端,我有以下代码来使用这个 json。
String obj = restTemplate.postForObject(url, entity, String.class);
JsonObject jsonObj = new JsonParser().parse(obj).getAsJsonObject();
T objFinal = buildGson(dateFormat).fromJson(jsonObj, PrepareStateObject.class);
PrepareStateObject 与对应的 json 相同,唯一的区别是 sc 对象。
public class sc implements java.io.Serializable {
private static final long serialVersionUID = -952803010396503926L;
private static final Logger log = LoggerFactory.getLogger(sc.class);
private Integer _public;
private Integer _private;
//....
}
当我检查 jsonObj 时,我可以看到带有 sc 对象的整个 json。
然而,正如预期的那样,由于字段名称不匹配,fromJson 方法无法填充 sc 对象。
如何在不使用像 jackson 这样的映射器的情况下实现这一目标?
【问题讨论】:
-
你能在这里分享堆栈跟踪吗?
-
找到解决方案...
标签: java json spring-boot jackson gson