30
2019
03

js long 型数据有问题

今天写程序,总是在前端获取的long类型数据不对,一开始一直以为是后端获取数据有问题,后来调式发现,后端获取数据正常。

那么出现这个问题如何解决呢?google,百度了一下。

最简单的方法就是:

@JsonFormat(shape=JsonFormat.Shape.STRING)
    private Long id;

加上这个注释,把long型数据,转换为string。



第二种方法,我们可以采用配置Spring消息转换器的ObjectMapper为自定义的类,通过继承ObjectMapper创建自定义类型转换器类。

创建类型转换器:

public class CustomObjectMapper extends ObjectMapper {


    public CustomObjectMapper() {

        super();

        SimpleModule simpleModule = new SimpleModule();

        simpleModule.addSerializer(Long.class, ToStringSerializer.instance);

        simpleModule.addSerializer(Long.TYPE, ToStringSerializer.instance);

        registerModule(simpleModule);

    }

}


增加配置:

<mvc:annotation-driven >

        <mvc:message-converters>

            <bean class="org.springframework.http.converter.StringHttpMessageConverter">

                <constructor-arg index="0" value="utf-8" />

                <property name="supportedMediaTypes">

                    <list>

                        <value>application/json;charset=UTF-8</value>

                        <value>text/plain;charset=UTF-8</value>

                    </list>

                </property>

            </bean>

           <-对日期进行转化的->

            <bean

                    class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">

                <property name="objectMapper">

                    <bean class="com.jay.jackson.util.CustomObjectMapper">

                        <property name="dateFormat">

                            <bean class="java.text.SimpleDateFormat">

                                <constructor-arg type="java.lang.String" value="yyyy-MM-dd HH:mm:ss" />

                            </bean>

                        </property>

                    </bean>

                </property>

            </bean>

        </mvc:message-converters>

    </mvc:annotation-driven>

« 上一篇下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。