Java JSON写入double

时间:2017-08-17 08:19:52

标签: java json double writing

我正在尝试使用下面的代码将java对象反序列化为JSON对象,并且我认识到以大写字母开头的参数已被写为double。例如;

Request req = new Request();
req.setMAC("abcdef");
req.setMACParams("term:id:orderno");
req.setOrderNo("999xdef123");

final ObjectMapper mapper = new ObjectMapper(); 

String json = mapper.writeValueAsString(req);

json字符串内部:

{ "MAC":"abcdef","MACParams":"term:id:orderno","OrderNo":"999xdef123","mac":"abcdef","macparams":"term:id:orderno","orderno":"999xdef123" }

那么我应该怎么做以防止这个双重代码?

2 个答案:

答案 0 :(得分:1)

由于字段属性名称中使用的大写字母,会出现此问题。 只需在Request类的每个字段中使用@JsonProperty注释,它就会反序列化为给定的名称。

E.g:

class Request{
    @JsonProperty("MAC")
    private String mac;

}

答案 1 :(得分:0)

你有吸气剂吗?您的类Request中的setter,但那些getter不遵循java bean规则, 该领域" MAC" getMAC和setMAC是正确的,但是" getMac"将在结果中生成两次mac。