本文目錄一覽:
- 1、java ObjectMapper 將對象轉換成json字符串問題
- 2、java對象 轉json 對象參數為null 的參數丟失
- 3、java中json對象有沒有方法可以把null值轉換成空字符串
java ObjectMapper 將對象轉換成json字符串問題
先給你一個正確的方法:
1,把bean裏面的get方法上面的格式去掉
我的代碼如下:
private Timestamp time;
public Timestamp getTime() {
return time;
}
public void setTime(Timestamp time) {
this.time = time;
}
測試方法:
public static void main(String[] args) throws JsonProcessingException, ParseException {
Timestamp timestamp = new Timestamp(System.currentTimeMillis());
AccountInfo accountInfo = new AccountInfo();
accountInfo.setTime(timestamp);
ObjectMapper mapper = new ObjectMapper();
mapper.setDateFormat(new SimpleDateFormat(“yyyy-MM-dd hh:mm:ss”));
String s = mapper.writeValueAsString(accountInfo);
System.out.println(s);
long time = DateUtils.parseDate(“1987-06-04 00:00:001″,”yyyy-MM-dd hh:mm:ss”).getTime();
String date = DateUtils.parseDate(“1987-06-04 00:00:01″,”yyyy-MM-dd hh:mm:ss”).toString();
System.out.println(date);
timestamp = Timestamp.valueOf(“1987-06-04 00:00:00”);
System.out.println(timestamp);
accountInfo = new AccountInfo();
accountInfo.setTime(timestamp);
mapper = new ObjectMapper();
mapper.setDateFormat(new SimpleDateFormat(“yyyy-MM-dd hh:mm:ss”));
s = mapper.writeValueAsString(accountInfo);
System.out.println(s);
}
輸出結果:
{“openId”:null,”token”:null,”ip”:null,”account”:null,”phone”:null,”email”:null,”platformType”:0,”time”:”2018-10-16 01:27:16″}
Thu Jun 04 00:00:01 CDT 1987
1987-06-04 00:00:00.0
{“openId”:null,”token”:null,”ip”:null,”account”:null,”phone”:null,”email”:null,”platformType”:0,”time”:”1987-06-04 12:00:00″}
不過這裡有一個小問題,因為你是使用的yyyy-MM-dd hh:mm:ss 格式,而hh表示按12小時計時,所以1987-06-04 00:00:00會在json中表示為1987-06-04 12:00:00,你可以換成yyyy-MM-dd HH:mm:ss按24小時計進即可。
java對象 轉json 對象參數為null 的參數丟失
String str = JSONObject.toJSONString(jsonMap,SerializerFeature.WriteMapNullValue);
說明一下:WriteMapNullValue——–是否輸出值為null的字段,默認為false
java中json對象有沒有方法可以把null值轉換成空字符串
1.SerializerFeature.WriteMapNullValue 是否輸出值為null的字段,默認為false
也就是說有null時會輸出而不是忽略(默認策略是忽略,所以看不到為null的字段)
2.WriteNullStringAsEmpty—字符類型字段如果為null,輸出為」「,而非null
注意是字段是字段是字段,而不是json.put(“key”,null),所以用它時,字段為null的可以轉換為空字符串。
3.如果讓輸出的json中所有為null的字符串都變成空字符串,最簡單的做法就是加一個值過濾器,這樣就避免了有的字段為null,有的字段為空字符的現象。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/249772.html