`

Json & xml 注解 in springmvc

阅读更多

一.Json:

1.spring mvc 中使返回值为json,只需在controller中添加注解@ResponseBody

在model类内添加,@JsonAutoDectect会只解析字段名,不解释getter的方法名

重命名json 属性名,使用@JsonProperty("xxx")

 

2.Json排序,使用@JsonPropertyOrder(value={"code","message","status","result"}),使用字段名

 

3.空不显示:@JsonInclude(Include.NON_NULL)

 

 

 

二.XML:

1.使用@XmlRootElement(name = "XXXX") 会重命名根目录

 

2.@XmlElement将java对象的属性映射为xml的节点,在使用@XmlElement时,可通过name属性改变java对象属性在xml中显示的名称。如:

  @XmlElement(name="Address")  
  private String yourAddress;
 
3.@XmlAccessorType(谨慎使用),用于指定由java对象生成xml文件时对java对象属性的访问方式。常与@XmlRootElement、@XmlType一起使用。它的属性值是XmlAccessType的4个枚举值,
分别为:

  XmlAccessType.FIELD:java对象中的所有成员变量,即声明的变量名:name

    如: private String name;

  XmlAccessType.PROPERTY:java对象中所有通过getter/setter方式访问的成员变量:Name

    如:public String getName(){

         return this.name;

        }

  XmlAccessType.PUBLIC_MEMBER:java对象中所有的public访问权限的成员变量和通过getter/setter方式访问的成员变量

  XmlAccessType.NONE:java对象的所有属性都不映射为xml的元素

 

  注意:@XmlAccessorType的默认访问级别是XmlAccessType.PUBLIC_MEMBER,因此,如果java对象中的private成员变量设置了public权限的getter/setter方法,就不要在   private变量上使用@XmlElement和@XmlAttribute注解,否则在由java对象生成xml时会报同一个属性在java类里存在两次的错误。同理,如果@XmlAccessorType的访问权限   为XmlAccessType.NONE,如果在java的成员变量上使用了@XmlElement或@XmlAttribute注解,这些成员变量依然可以映射到xml文件。

 

 4.@XmlType

  @XmlType用在class类的注解,常与@XmlRootElement,@XmlAccessorType一起使用。它有三个属性:name、propOrder、namespace,经常使用的只有前两个属性。如:

    一般使用的是声明的变量名

    private String intValue;

  private String stringArray;

  private String stringValue;

@XmlType(name = "basicStruct", propOrder = {
    "intValue",
    "stringArray",
    "stringValue"
)
在使用@XmlType的propOrder 属性时,必须列出JavaBean对象中的所有属性,否则会报错。(注意有继承的子类,如果propOrder中有父类的字段,会报错)

 

 

参考:

1.Jaxb annotation初步使用

http://www.cnblogs.com/fragranting/archive/2012/03/25/xml--jaxb.html

2.用@XmlType的propOrder属性 来指定序列化的顺序

http://blog.csdn.net/hongtaq/article/details/8208997

 

分享到:
评论

相关推荐

    SpringMVC 使用JSON、XML视图

    在SpringMVC框架中,处理视图的呈现是至关重要的,尤其在当今Web应用程序中,JSON和XML格式的数据传输越来越普遍。SpringMVC为开发者提供了便捷的方式,将Java对象转换成JSON或XML视图,使得数据交换更加灵活。本文...

    SpringMVC中后台转换json格式

    此外,为了让SpringMVC知道如何将你的Java对象转换为JSON,你需要在你的模型类上使用Jackson的注解,例如`@JsonProperty`、`@JsonInclude`、`@JsonIgnore`等。这些注解可以帮助控制哪些属性应该被包含在JSON中,哪些...

    springmvc加入json支持

    3. **创建Controller**: 创建一个Spring MVC控制器,使用`@RestController`或`@Controller`注解,并在方法上使用`@ResponseBody`来指示返回值应转换为JSON。例如: ```java @RestController public class ...

    基于注解的springMVC的demo

    本篇文章介绍了基于注解的SpringMVC项目的构建过程,包括依赖配置、Web部署描述符、控制器类实现以及JSON数据处理等内容。通过以上步骤,我们可以构建出一个功能完善的SpringMVC应用程序,有效地利用注解来简化代码...

    注解式springMVC的demo

    `@RequestBody`用于将HTTP请求体中的数据转换为方法参数,而`@ResponseBody`将方法返回值直接写入HTTP响应体,通常用于返回JSON或XML格式的数据。 8. **@ModelAttribute** `@ModelAttribute`常用于数据绑定,它...

    springMVC注解大全

    注解在Spring MVC中扮演着核心角色,它们使得代码更加简洁、可读性更强,减少了XML配置的需求。以下是对Spring MVC中一些关键注解的详细解释: 1. `@Controller`:这个注解用于标记一个类作为Spring MVC的控制器。...

    基于注解实现springmvc的范例

    7. @ResponseBody:将方法返回的对象直接写入HTTP响应体,常用于返回JSON或XML数据。例如: ```java @GetMapping("/data") @ResponseBody public User getData() { //... return user; } ``` 三、视图解析 在...

    SpringMVC纯注解配置

    "SpringMVC纯注解配置"是SpringMVC框架的一种高级用法,旨在减少XML配置文件的使用,提高开发效率和代码可读性。在这个主题中,我们将深入探讨如何利用注解实现SpringMVC的配置以及jQuery如何处理后台返回的JSON对象...

    jack-json包和配置,springmvc3.2及以下json格式支持

    3. **处理Controller**: 在Controller中,我们可以使用`@RequestBody`和`@ResponseBody`注解来指定输入和输出的数据应使用JSON格式。例如: ```java @RequestMapping(value = "/example", method = RequestMethod....

    springmvc对json支持

    `jackson-core`提供了基本的JSON流处理API,`jackson-databind`负责映射JSON到Java对象和反之,`jackson-annotations`包含了一些注解,这些注解用于定制序列化和反序列化过程。 2. **Spring MVC配置**:在Spring ...

    SPRINGMVC 注解范例程序

    在"SPRINGMVC 注解范例程序"中,我们可以深入理解 Spring MVC 如何利用注解进行配置简化,提高开发效率。下面将详细介绍 Spring MVC 中的关键注解和其工作原理。 1. **@Controller**:这是 Spring MVC 中的核心注解...

    springmvc-json-lib.rar

    在SpringMVC中,我们可以使用Jackson的`@ResponseBody`注解,将控制器方法的返回值自动转换为JSON格式。同时,通过`@RequestBody`注解,我们可以将HTTP请求体中的JSON数据自动映射到方法参数中。 配置Jackson库需要...

    springMVC+json.zip_JSON_myeclipse_springmvc_数据传递

    - Controller方法接收参数,SpringMVC会自动将JSON数据转化为Java对象,通过`@RequestBody`注解注入到方法参数中。 - Controller处理业务逻辑后,可能需要返回JSON数据。通过`@ResponseBody`注解,SpringMVC会调用...

    SpringMVC关于json、xml自动转换的原理研究.pdf

    总结来说,SpringMVC通过`@ResponseBody`注解结合`HttpMessageConverter`接口,实现了Java对象到JSON或XML的自动转换。`<mvc:annotation-driven>`配置是这一过程的关键,它创建并配置了必要的组件,确保数据能够正确...

    springMVC+ajax+json

    通过在@RequestMapping注解中指定produces="application/json",表明该方法将返回JSON数据。然后,使用@RequestBody或@ResponseBody注解将HTTP请求体或响应体绑定到JSON对象。 例如,一个简单的Ajax请求可能如下: ...

    SpringMVC关于json、xml自动转换的原理研究.docx

    总结来说,SpringMVC通过`@ResponseBody`注解和`<mvc:annotation-driven/>`配置,结合HttpMessageConverter机制,实现了自动将Java对象转换为JSON或XML的能力。这个过程涉及到多个组件的协同工作,包括`...

    html+SpringMVC+MyBaties+Json实现分类查询并导出EXCEL

    MyBatis可以使用简单的XML或注解进行配置和原始映射,将接口和Java的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。 4. **Json**:JSON(JavaScript Object Notation)是一种轻量级的数据...

    SpringMVC中使用@RequestBody,@ResponseBody注解实现Java对象和XML/JSON数据自动转换(下)

    返回类型需要有对应的XML注解(如`@XmlRootElement`),以便JAXB能正确地生成XML。 ### 3. 示例 ```java @RestController @RequestMapping("/api") public class MyController { @PostMapping("/user") public ...

    SpringMVC的json依赖jar包

    要在SpringMVC中使用这些jar包,你需要在项目的`pom.xml`或`build.gradle`文件中添加相应的依赖。之后,SpringMVC会自动识别并使用Jackson进行JSON处理。你可以在Controller方法中返回一个Java对象,SpringMVC会自动...

Global site tag (gtag.js) - Google Analytics