* JSON属性如下  * loginName: "jay"  * password : "3333"  * roles    : { id : 4 }  * user     : { name:"username" , officeName : "java"}  * ---------------------------------------------------------  * Java实体如下  * MyEntity   * String loginName  * String password  * RoleEntity roles   RoleEntity中有一个id属性接收  * UserEntity user    UserEntity中有name 、 officeName 属性接收  *  */

什么意思呢?

前端发送的JSON数据,除了普通的键值对,还有键--对象, 比如 roles : { id : 4}。

那么,对应的后台Java实体,其属性应该持有一个,叫roles的对象引用,比如 private RoleEntity roles ;

这个RoleEntity对象,应该有id属性,从而接收 id:4这组键值对。

同理,后台Java实体,也应该有一个 UserEntity 来 接收 JSON数据中 { name:"username" , officeName : "java"}。

伪代码如下

   //后台Java实体类名    class MyEntity {            private String loginName;  //映射Json的loginName属性            private String password;   //映射Json的password属性            private RoleEntity roles;  //映射Json的roles对象 , 引用要与JSON属性一致!             private UserEntity user;   //映射Json的user对象  ,引用要与JSON属性一致!           class  RoleEntity{                private Long id;             }           class UserEntity{               private String name;               private String officeName;          }       }     Controller中      @RequestMapping(value="url")   public JsonResponse  handerSomething(@RequestBody MyEntity ref)

前端发送复杂JSON数据,后端使用@RequestBody接收