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")

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM