spring mvc json 问题

applicationContext.xml

 1 <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
 2         <property name="messageConverters">
 3             <list>
 4                <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
 5                    <property name="supportedMediaTypes">
 6                        <list>
 7                            <value>text/plain;charset=UTF-8</value>
 8                            <value>application/json;charset=UTF-8</value>
 9                        </list>
10                    </property>
11                    <property name="objectMapper">
12                        <bean class="com.charmyin.cmstudio.common.utils.ObjectMappingCustomer"></bean>
13                    </property>
14                </bean>
15             </list>
16         </property>
17     </bean>

此处我也尝试了

<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"> ...... </bean>

ObjectMappingCustomer.java

 1 package com.charmyin.cmstudio.common.utils;
 2
 3
 4 import java.io.IOException;
 5
 6 import com.fasterxml.jackson.databind.JsonSerializer;
 7 import com.fasterxml.jackson.databind.ObjectMapper;
 8 import com.fasterxml.jackson.core.JsonGenerator;
 9 import com.fasterxml.jackson.core.JsonParser;
10 import com.fasterxml.jackson.core.JsonProcessingException;
11 import com.fasterxml.jackson.databind.SerializerProvider;
12
13     public class ObjectMappingCustomer extends ObjectMapper
14
15     {
16
17         /**
18          *
19          */
20         private static final long serialVersionUID = 1L;
21
22
23
24         public ObjectMappingCustomer()
25
26         {
27 //
28             super();
29
30             // 允许单引号
31
32             this.configure(JsonParser.Feature.ALLOW_SINGLE_QUOTES, true);
33
34             // 字段和值都加引号
35
36             this.configure(JsonParser.Feature.ALLOW_UNQUOTED_FIELD_NAMES, true);
37
38             // 数字也加引号
39
40             this.configure(JsonGenerator.Feature.WRITE_NUMBERS_AS_STRINGS, true);
41
42             this.configure(JsonGenerator.Feature.QUOTE_NON_NUMERIC_NUMBERS, true);
43 //
44 //            // 空值处理为空串
45 //
46             SerializerProvider sp = (SerializerProvider) this.getSerializerProvider();
47
48             sp.setNullValueSerializer(new JsonSerializer<Object>(){
49
50
51
52                 @Override
53
54                 public void serialize(Object value, JsonGenerator jg,
55
56                         SerializerProvider sp) throws IOException,
57
58                         JsonProcessingException {
59
60                      jg.writeString("");
61
62                 }
63
64
65
66             });
67 //
68 //
69 //
70         }
71
72     }

输出的json

{
    "rows": [
        {
            "pageVO": null,
            "praId": "bffa397b245849909a9c2af4e74e007d19a1e6cb",
            "creatorId": 248,
            "creatorName": "stu123",
            "finalReport": null
      }
    ]
}
时间: 2024-10-31 03:57:43

spring mvc json 问题的相关文章

Spring MVC JSON自定义类型转换(续)

前面提到了两种转换类型的方法(Spring MVC JSON自定义类型转换),这里针对Json转换提供一种更简便的方法. 通过配置全局的日期转换来避免使用麻烦的注解. 首先用到了一个简单的日期工具类DateUtil.java /** * DateUtil类 * * @author liuzh */ public class DateUtil { public static final String Y_M_D = "yyyy-MM-dd"; public static final St

Spring MVC Json相关问题

以下是Spring MVC  一个Controller下的方法,返回的是Json 1: @ResponseBody 2:返回 Map<String,Object> 以下是代码: @RequestMapping("/checkUser") @ResponseBody public Map<String,Object> checkUser( String name,String param, HttpServletRequest request){ Map<S

Spring MVC JSON自定义类型转换

类型有很多,这里只用日期为例说明. 在Spring MVC中存在两大类的类型转换,一类是Json,一个是Spring的Binder转换. JSON: 使用Json转换时,可以如下使用: public class Test { private Date createdate; @JsonSerialize(using = DateYMDHMSJsonSerializer.class) public Date getCreatedate() { return createdate; } @JsonD

Spring MVC JSON 实现JsonSerializer Date类型转换

转载至:http://blog.csdn.net/lantianzhange/article/details/40920933 在Spring MVC中存在两大类的类型转换,一类是Json,一个是Spring的Binder转换. JSON: 使用Json转换时,可以如下使用: [java] view plaincopyprint? public class Test { private Date createdate; @JsonSerialize(using = DateYMDHMSJsonS

spring Mvc json返回json的日期格式问题

(一)输出json数据 springmvc中使用jackson-mapper-asl即可进行json输出,在配置上有几点: 1.使用mvc:annotation-driven 2.在依赖管理中添加jackson-mapper-asl <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-mapper-asl</artifactId> <version

spring mvc json null空转""空串

解决方法和网上的 不太一样 因为SerializerProvider  为StdSerializerProvider的父类,直接从SerializerProvider .setNullValueSerializer()方法 不允许 所以通过子类StdSerializerProvider调用此方法 applicationContext.xml <bean          class="org.springframework.web.servlet.mvc.annotation.Annota

spring mvc json乱码

<mvc:annotation-driven> <mvc:message-converters> <!-- 将StringHttpMessageConverter的默认编码设为UTF-8 --> <bean class="org.springframework.http.converter.StringHttpMessageConverter"> <constructor-arg value="UTF-8" /&

spring mvc json乱码问题

import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.a

判断JSON是否为空 (用spring mvc @ResponseBody 自动返回的json串 )

判断JSON是否为空 (用spring mvc @ResponseBody 自动返回的json串 ) 知识分类:EXTJS  spring mvc json 记录时间: 20150708 简单描述:用json.length 属性长度来判断是否为空,在此过程中spring mvc 自动返回的json串是 字符串的类型,所以用.length的方式返回的则是字符串的长度(一般空的JSON 在此处返回的长度应为3),并不是数组的长度,在EXTJS中用Ext.decode(json); 则可以将字符串js