`

@JsonIgnore,@JsonFormat 等标签使用

    博客分类:
  • java
 
阅读更多

1. @JsonIgnore  作用是 json序列化时Bean中的属性会被忽略。

2. @JsonFormat  作用是json序列化时格式化Bean中的属性输出的格式(如:Date)

3.@JsonSerialize 作用是json序列化时按照自己定义的格式方法执行。

 

如:

package com.boce.test;

 

import java.io.Serializable;

import java.util.Date;

 

import com.fasterxml.jackson.annotation.JsonFormat;

import com.fasterxml.jackson.annotation.JsonIgnore;

import com.fasterxml.jackson.annotation.JsonInclude.Include;

import com.fasterxml.jackson.core.JsonProcessingException;

import com.fasterxml.jackson.databind.ObjectMapper;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;

import com.ibm.icu.util.Calendar;

 

public class Person implements Serializable {

 

private String name;

@JsonIgnore

private String sex;

@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")

private Date birday;

 

@JsonSerialize(using=DoubleFormat.class)

private Double weight;

 

public String getName() {

return name;

}

 

public void setName(String name) {

this.name = name;

}

 

public String getSex() {

return sex;

}

 

public void setSex(String sex) {

this.sex = sex;

}

 

public Date getBirday() {

return birday;

}

 

public void setBirday(Date birday) {

this.birday = birday;

}

 

public Double getWeight() {

return weight;

}

 

public void setWeight(Double weight) {

this.weight = weight;

}

 

public static void main(String[] args) {

 

Person p = new Person();

p.setName("boce");

p.setSex("man");

p.setBirday(Calendar.getInstance().getTime());

p.setWeight(150.2);

 

String result ="";

ObjectMapper mapper = new ObjectMapper();

// 配置mapper忽略空属性

mapper.setSerializationInclusion(Include.NON_EMPTY);

// 默认情况,Jackson使用Java属性字段名称作为 Json的属性名称,也可以使用Jackson

try {

result = mapper.writeValueAsString(p);

} catch (JsonProcessingException e) {

e.printStackTrace();

}

 

System.out.println(result);

 

 

 

}

 

}

 

 

格式化double 数据为 ###.00 ,有两位有效数字.

package com.boce.test;

 

import java.io.IOException;

import java.text.DecimalFormat;

 

import com.fasterxml.jackson.core.JsonGenerator;

import com.fasterxml.jackson.core.JsonProcessingException;

import com.fasterxml.jackson.databind.JsonSerializer;

import com.fasterxml.jackson.databind.SerializerProvider;

 

/**

 * double 数据格式化为 ****.00;

 * @author dell

 *

 */

public class DoubleFormat extends JsonSerializer<Double>{

 

DecimalFormat df = new DecimalFormat("###.00");

@Override

public void serialize(Double value, JsonGenerator gen, SerializerProvider serializers)

throws IOException, JsonProcessingException {

if(value !=null){

gen.writeString(df.format(value));

}

 

}

 

}

 

 

输出结果:

{"name":"boce","birday":"2017-02-22 03:16:01","weight":"150.20"}

 

说明:sex 没有在json字符串中出现。

birday,weight 已经被格式化

 

 

分享到:
评论

相关推荐

    @JsonFormat的使用jackson-annotations

    本文将深入探讨`@JsonFormat`注解的使用,以及它在Jackson库中的作用,特别是与`jackson-annotations.jar`、`jackson-core.jar`和`jackson-databind.jar`这三个核心组件的关系。 首先,让我们了解Jackson的基本构成...

    JsonFormat java android

    "JsonFormat"在这里指的是一款本地工具,用于帮助开发者更方便地对JSON数据进行格式化,使其更易读。 在Windows环境下,开发者经常需要处理来自服务器的JSON响应或者在代码中创建JSON字符串。"JsonFormat"这款工具...

    json的动态和静态过滤

    例如,可以使用`@JsonIgnore`注解来忽略某个字段,或者使用`@JsonProperty`仅包含特定字段。这样,无论何时序列化或反序列化对象,这些注解都会确保指定的字段不会出现在JSON中。 2. **动态过滤**: 动态过滤则是...

    @DateTimeFormat 和 @JsonFormat 注解.txt

    入参与出参日期解析

    jackson-databind-3.0.0.jar下载

    3. 支持多种注解配置序列化和反序列化:支持@JsonIgnore, @JsonFormat, @JsonView等多种注解配置对象与JSON的映射方式。 4. 高性能:jackson-databind基于Jackson Streaming API和基于类型的抽象序列化模式,性能优异...

    JSON解析 JsonFormat

    日常开发中,使用JSON格式的数据情景很多。一开始使用网页的小工具,但用的多了,还是想有一个小工具,能直接快速打开。 支持解析文件 支持解析纯文本,并统计出行列,字符数。提供格式化JSON。 支持搜索,搜索...

    JsonFormat.js(editplus格式化 json插件)

    editplus格式化 json插件 使用:自定义工具 》命令 》Cscript.exe /nologo "D:\JsonFormat.js" 注意地址需要用引号

    JsonFormat.zip

    使用JSON解析工具时,用户首先打开JsonFormat.exe,然后可以将JSON数据粘贴到工具的输入区域,工具会自动进行格式化并显示。如果数据有效,工具会呈现一个整洁的布局;若数据有误,工具通常会指出错误的位置和原因。...

    jsonFormat:json格式

    在JavaScript中,可以使用`JSON.parse()`方法将JSON字符串转换为JavaScript对象,而`JSON.stringify()`方法则用于将JavaScript对象转换为JSON字符串。例如: ```javascript let jsonString = '{"name":"John","age...

    JsonFormat与@DateTimeFormat注解实例解析

    在使用`@JsonFormat`之前,需要确保项目引入了Jackson的相关依赖,如`jackson-annotations`, `jackson-databind` 和 `jackson-mapper-asl`。 ```xml &lt;groupId&gt;com.fasterxml.jackson.core&lt;/groupId&gt; ...

    JsonFormat格式化工具

    JsonFormat格式化工具,优化调整格式视图,好用速来,

    sprite@2x.json

    sprite@2x.json

    win 10 环境下Json format 字符串本地格式化工具

    使用JsonFormat.exe这样的工具,不仅能够提高工作效率,还能减少因手动处理JSON数据导致的潜在错误。对于开发人员来说,这是一款必备的辅助工具,尤其在处理API响应、日志文件或配置文件时,它的价值更为突出。 ...

    Jackson使用方法1.docx

    1. `jackson-annotations-2.2.1.jar`:包含Jackson的核心注解,如`@JsonFormat`, `@JsonProperty`, `@JsonIgnore`等。 2. `jackson-core-2.2.1.jar`:提供基础的JSON解析和生成功能。 3. `jackson-databind-2.2.1....

    Java对象转json JsonFormat注解

    Java对象转JSON的过程中,`JsonFormat`注解是Jackson库提供的一种用于格式化日期和其他特定类型数据的工具。这个注解允许我们在序列化(对象转JSON)和反序列化(JSON转对象)时指定特定的格式。在上述例子中,我们...

    JSONFormat.exe

    基于Java Swing的json字符串格式化工具,敏捷,高效,即时即用 基于Java Swing的json字符串格式化工具,敏捷,高效,即时即用

    JSON序列化和反序列化.docx

    在这个文档中,我们将重点讨论三个关键注解:`@JsonIgnore`, `@JsonFormat`, 和 `@JsonProperty`,以及如何使用 `JsonFilter` 实现动态数据列过滤。 `@JsonIgnore` 是一个非常实用的注解,当它被应用于一个属性上时...

    jpush.dll 修改了should be JSON format的bug

    这是之前在网上下载的一个dll, 在使用的时候 传入extras的参数时,正确的json格式会报 should be JSON format的错误, 后面自己反编译之后, 修改了一下, 现在在传参时, title, content 均为string即可, extras...

    java中json格式转化所需jar包

    首先,Java中最常用的JSON处理库有Jackson、Gson和org.json等。其中,Jackson是目前最流行的库之一,它的API高效且灵活,支持多种JSON操作。在标题中提到的“java中json格式转化所需jar包”,可能指的是Jackson库的...

    JsonFormat.exe

    JSON格式转换软件适用于json格式转换和字符串长度的各项统计

Global site tag (gtag.js) - Google Analytics