所以这是我在将复杂的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时,我可以看到整个json与sc对象。 但是,正如预期的那样,由于字段名称不匹配,fromJson方法无法填充sc对象 如何在不使用像jackson这样的映射器的情况下实现这一目标?
答案 0 :(得分:0)
https://shekhargulati.com/2015/09/14/gson-tip-jsonproperty-equivalent/
我在寻找那些使用@SerializedName注释的Gson解析器,它相当于jackson中的JsonProperty。