请给json序列序列化成的javabean 属性加上   @JsonProperty(value = "real_name")   否则 springmvc 可能接受不到数据

jackson的maven依赖

<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.5.3</version>
</dependency>

aaarticlea/png;base64,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" alt="" />所以引入这一个依赖就可以了

@JsonProperty 此注解用于属性上,作用是把该属性的名称序列化为另外一个名称,如把trueName属性序列化为name,@JsonProperty(value="name")。

import com.fasterxml.jackson.annotation.JsonProperty;

public class Student {

    @JsonProperty(value = "real_name")
private String realName; public String getRealName() {
return realName;
} public void setRealName(String realName) {
this.realName = realName;
} @Override
public String toString() {
return "Student{" +
"realName='" + realName + '\'' +
'}';
}
}

测试

import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper; public class Main {
public static void main(String[] args) throws JsonProcessingException {
Student student = new Student();
student.setRealName("zhangsan");
System.out.println(new ObjectMapper().writeValueAsString(student));
}
}

结果

{"real_name":"zhangsan"}

这里需要注意的是将对象转换成json字符串使用的方法是fasterxml.jackson提供的!!

如果使用fastjson呢?

<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.28</version>
</dependency>

import com.alibaba.fastjson.JSON;

public class Main {
public static void main(String[] args) {
Student student = new Student();
student.setRealName("zhangsan");
System.out.println(JSON.toJSONString(student));
}
}

结果

{"realName":"zhangsan"}

可以看到,@JsonProperty(value = "real_name")没有生效,为啥?

因为fastjson不认识@JsonProperty注解呀!所以要使用jackson自己的序列化工具方法!

--------------------------

@JsonProperty不仅仅是在序列化的时候有用,反序列化的时候也有用,比如有些接口返回的是json字符串,命名又不是标准的驼峰形式,在映射成对象的时候,将类的属性上加上@JsonProperty注解,里面写上返回的json串对应的名字

import com.fasterxml.jackson.databind.ObjectMapper;

import java.io.IOException;

public class Main {
public static void main(String[] args) throws IOException {
String jsonStr = "{\"real_name\":\"zhangsan\"}";
Student student = new ObjectMapper().readValue(jsonStr.getBytes(), Student.class);
System.out.println(student);
}
}

结果:

Student{realName='zhangsan'}

spring mvc 接受前台json @RequestBody json 属性 空 使用 JsonProperty spring mvc 获取json转乘bean的更多相关文章

  1. pyhton 从web获取json数据 保存到本地然后再读取

    从web中获取json数据直接进行处理总认为太慢.主要是从web中获取获取数据的过程有点慢. 所以就在想 假设先利用空暇时间把json数据获取并保存到本地,然后再从本地文件里读取和操作.应该就要快非常 ...

  2. 富文本编辑器--获取JSON

    获取 JSON 格式的内容 可以通过editor.txt.getJSON获取 JSON 格式的编辑器的内容,v3.0.14开始支持,示例如下 <div id="div1"&g ...

  3. Spring boot接受json赋值给java对象

    Spring boot接受json赋值给java对象 新建 模板 小书匠 前言 写这个东西,一方面是我自己在做项目的时候,对json的使用还不是十分的熟悉,对spring boot的使用也不是很熟悉, ...

  4. MVC接受JSON的一些注意事项

    1.MVC接受前端传的JSON数据,相应的接受参数的位置使用@RequestBody注解进行标注 2.JSON传空字符串时,后台使用Integer进行接受时,会报for String ''一堆乱七八糟 ...

  5. json数据前台解析 修改check属性用prop()

    jQuery中的$.getJSON( )方法函数主要用来从服务器加载json编码的数据,它使用的是GET HTTP请求.使用方法如下: $.getJSON( url [, data ] [, succ ...

  6. Spring MVC 接受的请求参数

    目录 1. 概述 2. 详解 2.1 处理查询参数 2.2 处理路径参数接受输入 2.3 处理表单 3. 补充内容 3.1 Ajax/JSON 输入 3.2 multipart参数 3.3 接收 he ...

  7. spring mvc 接受多对象的处置

    spring mvc 接受多对象的处理 spring mvc感觉非常好用,尤其是对接收对象參数的自己主动绑定非常简便,但对于同一时候传多个对象时有些困扰. 同一时候项目并没有直接使用spring的fo ...

  8. 序列化json对象,通过ajax传入asp.net mvc后台

    序列化json对象,通过ajax传入asp.net mvc后台 序列化json对象,通过ajax传入asp.net mvc后台   今天遇到一个问题,准备把组织好的json对象通过jquery.aja ...

  9. (六)Net Core项目使用Controller之一 c# log4net 不输出日志 .NET Standard库引用导致的FileNotFoundException探究 获取json串里的某个属性值 common.js 如何调用common.js js 筛选数据 Join 具体用法

    (六)Net Core项目使用Controller之一 一.简介 1.当前最流行的开发模式是前后端分离,Controller作为后端的核心输出,是开发人员使用最多的技术点. 2.个人所在的团队已经选择 ...

随机推荐

  1. 2017 JUST Programming Contest 2.0 题解

    [题目链接] A - On The Way to Lucky Plaza 首先,$n>m$或$k>m$或$k>n$就无解. 设$p = \frac{A}{B}$,$ans = C_{ ...

  2. Hive项目开发环境搭建(Eclipse\MyEclipse + Maven)

    写在前面的话 可详细参考,一定得去看 HBase 开发环境搭建(Eclipse\MyEclipse + Maven) Zookeeper项目开发环境搭建(Eclipse\MyEclipse + Mav ...

  3. Redis整体

    介绍 Redis是一个开源的高性能的key-value存储系统.具有以下特点: 1.Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用. 2.Redis不仅仅支 ...

  4. html (第四本书第八章参考)

    上机1 <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8 ...

  5. 火狐浏览器接口测试工具Poster

  6. 【WIN10】WIN2D——圖像處理

    源碼下載:http://yunpan.cn/c3iNuHFFAcr8h  访问密码 8e48 還是先來看下截圖: 實現了幾個效果:放大.縮小.旋轉.左右翻轉.上下翻轉,亮度變化.灰度圖.對比度.高斯模 ...

  7. BZOJ2190 [SDOI2008]仪仗队 [欧拉函数]

    题目描述 作为体育委员,C君负责这次运动会仪仗队的训练.仪仗队是由学生组成的N * N的方阵,为了保证队伍在行进中整齐划一,C君会跟在仪仗队的左后方,根据其视线所及的学生人数来判断队伍是否整齐(如下图 ...

  8. bzoj1205: [HNOI2005]星际贸易

    题目链接 bzoj1205: [HNOI2005]星际贸易 题解 辣鸡题面,毁我青春 辣鸡题面,毁我青 辣鸡题面,毁我 辣鸡题面,毁 第一问,背包dp 第二问 问题转化为在一个序列上经过好多点走到终点 ...

  9. XXX on tree

    %了发树上莫队 nlognsqrt(n) // luogu-judger-enable-o2 #include<bits/stdc++.h> using namespace std; in ...

  10. GitLab目录迁移方法

    在生产环境上迁移GitLab的目录需要注意一下几点: 1.目录的权限必须为755或者775 2.目录的用户和用户组必须为git:git 3.如果在深一级的目录下,那么git用户必须添加到上一级目录的账 ...