我有两个具有已知架构的具体对象(完全不同)。然后,我从客户端获取JSON,并希望将其映射到该对象之一。
是否可以在转换之前以某种方式检查类型,或者我必须尝试将其转换为每个对象并检查解析是否正确?
编辑:
例如:
{"id":"1","name":"oneone"}
第二
{"age":50,"type":"elephant"}
最佳答案
就个人而言,我将使用GSON或类似方法解析JSON,然后寻找一种JSON格式所独有的密钥,例如“年龄”。实际上,您也可以像@ user743414一样将其作为String进行。
更新:
这是一些代码来反映我在说什么
JsonParser jsonParser = new JsonParser();
JsonObject jsonObject = jsonParser.parse(jsonString).getAsJsonObject();
Set<String> keys = jsonObject.keySet();
if(keys.contains("age")){
//Map to one object
} else {
//Map to the other object
}