JSON对象的处理

JSON对象的处理

  1. JSON:数据格式

      {属性名:属性值,属性名:属性值...}

  2. ajax(局部刷新,异步刷新)

    $.ajax({

      type:"GET",//请求类型

      url:path+"/jsp/user.do",//请求的url

      data:{method:"getrolelist"},//请求参数

      dataType:"json",//ajax接口(请求url)返回的数据类型

      success:function(data){//data:返回数据(json对象)

      //核心的处理

      },

      error:function(data){//当访问时候,404,500 等非200的错误状态码

      validateTip(userRole.next(),{"color":"red"},imgNo+" 获取用户角色列表error",false);

      }

    });

  3. JSON对象的处理

    第一步:导入fastjson-1.2.13.jar

    第二步:写controller

      返回值:Object(JSON对象)

      return JSONArray.toJSONString(HashMap);

    第三步:配置@ResponseBody

      作用:将标注该注解的处理方法的返回结果直接写入HTTP  Response Body中,一般会在异步获取数据时使用.

  4. JSON中文乱码解决方案

    1) 方案一:

      指定返回的内容类型为json格式数据,并且字符串的转换编码为 “UTF-8”

      @RequestMapping(value="/view",

              method=RequestMethod.GET,

                       produces={"application/json;charset=UTF-8"})

    2)方案二:

      在装配消息转换器StringHttpMessageConverter,设置字符编码为UTF-8

      supportedMediaTypes属性

      指定媒体类型:application/json

      字符编码:UTF-8

      例: <mvc:annotation-driven >

        <!-- json返回中文乱码-->

          <mvc:message-converters>

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

              <property name="supportedMediaTypes">

                <list>

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

                </list>

              </property>

            </bean>

          </mvc:message-converters>

        </mvc:annotation-driven>

  5. JSON日期格式

    1)解决方案一:在pojo对应的属性使用注解方式

      注解方式:@JSONField(format= "yyyy-MM-dd")

    2)解决方案二

      配置FastJson的消息转换器-FastJsonHttpMessageConverter

      设置features属性:指定输出时的日期转换器为WriteDateUseDateFormat

      例: <mvc:annotation-driven >

        <!-- json返回中文乱码-->

        <mvc:message-converters>

          <bean class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter">

            <property name="supportedMediaTypes">

              <list>

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

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

              </list>

            </property>

          <property name="features">

            <list>

              <value>WriteDateUseDateFormat</value>

            </list>

          </property>

        </bean>

      </mvc:message-converters>

    </mvc:annotation-driven>

  6. 小结

    对于JSON数据中的日期格式处理(FastJson)

    默认输出时间戳

    转换输出yyyy-MM-dd HH:mm:ss格式的日期

    配置消息转换器中的<value>WriteDateUseDateFormat</value>

    注解优先( yyyy-MM-dd )

    配置消息转换器中的<value>WriteDateUseDateFormat</value>

    增加属性注解@JSONField(format="yyyy-MM-dd")

原文地址:https://www.cnblogs.com/yang82/p/8425389.html