SpringMVCフレームワークの下でJQueryはJsonフォーマットのデータがどのように実現されるかを伝達し解析する.

5792 ワード

jsonは軽量レベルのデータ交換フォーマットとして,フロントバックグラウンドのデータ交換において非常に重要な地位を占めている.Jsonの文法は非常に簡単で、キー値対表現形式を採用しています.JSONは、JavaScriptオブジェクトに表示されるデータのセットを文字列に変換し、関数間でこの文字列を簡単に渡すことができるか、非同期アプリケーションでWebクライアントからサーバ側プログラムに文字列を渡すこともできるし、サーバ側プログラムからjson形式の文字列をフロントエンドに渡してフロントエンドで説明することもできる.この文字列はjson構文に合致し、json構文はjavascript構文のサブセットであるため、javascriptは解釈しやすく、JSONは「名前/値ペア」よりも複雑な構造を表すことができる.次に、JQueryがjson形式のデータを転送/解析する方法を例に示します.
1.まずフロントエンドjspコードを見てみましょう.

 
 
 
 
 
 
Insert title here 
 
  $(document).ready(function(){ 
    //       json     (  json  ) 
    $("#resolveJsonObject").click(function(){ 
      var userName =encodeURI($("#userName").attr("value")); 
      var age = encodeURI($("#age").attr("value")); 
      var user = {userName:userName,age:age}; 
      var aMenu = encodeURI(JSON.stringify(user)); 
      $.ajax({ 
         url:"/springMVC6/user/data/resolveJsonObject" , 
         data:"orderJson=" + aMenu,  
         success:function(data){ 
        } 
      }); 
    }); 
    //  json      
    $("#resolveJsonArray").click(function(){ 
      var userName =encodeURI($("#userName").attr("value")); 
      var age = encodeURI($("#age").attr("value")); 
      //     
      var user1 = {userName:userName,age:age}; 
      var allMenu={ 
        "menu":[ ] 
        }; 
      allMenu.menu.push(user1); 
      var allMenu1 = encodeURI(JSON.stringify(allMenu)); 
      $.ajax({ 
        //json   
         url:"/springMVC6/user/data/resolveJsonArray" , 
        data:"orderJson=" + allMenu1, 
        success:function(data){ 
        } 
      }); 
    }); 
    //     json      
    $("#resolveJson").click(function(){ 
      $.ajax({ 
        //        json   
        url:"/springMVC6/user/data/resolveJson" , 
        type:"post",     
        success:function(data){ 
          var arr=eval(data); 
          alert(arr.length); 
          for(var m = 0;m<arr.length;m++){ 
            alert(arr[m].user.userName); 
          } 
        } 
      }); 
    }); 
  }); 
 
 
 
  

json

:

2.javabeanを使用してフロントエンドデータを解析するには:

package com.tgb.web.controller.annotation; 
import java.io.IOException; 
import java.net.URLDecoder; 
import java.util.ArrayList; 
import java.util.List; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 
import net.sf.json.JSONArray; 
import net.sf.json.JSONObject; 
import org.springframework.stereotype.Controller; 
import org.springframework.web.bind.annotation.RequestMapping; 
import com.tgb.web.controller.entity.User; 
@Controller 
@RequestMapping("/user/data") 
public class DataController { 
  //              json  ,        
  @RequestMapping("/resolveJsonObject"  ) 
  public void resolveJsonObject(HttpServletRequest request,HttpServletResponse response) throws IOException { 
    //   
    String str = URLDecoder.decode(request.getParameter("orderJson"),"UTF-8"); 
    JSONObject jb=new JSONObject(); 
    // json         json  ,       “userName”    
    String o=(String)jb.fromObject(str).get("userName"); 
    System.out.println(o); 
  } 
   //  json      
  @RequestMapping("/resolveJsonArray" ) 
  public void resolveJsonArray(HttpServletRequest request,HttpServletResponse response) throws IOException { 
    //  ,         
    String str = URLDecoder.decode(request.getParameter("orderJson"),"UTF-8"); 
    JSONObject jb=new JSONObject(); 
    // json         json     
    JSONArray array=(JSONArray)jb.fromObject(str).get("menu"); 
    //  json          
    JSONObject o = (JSONObject) array.get(0);//     array   
    //  json         “userName”    
    String name=o.get("userName").toString();//      
    System.out.println(name); 
  } 
  //       json     ,     JQuery     
  @RequestMapping("/resolveJson" ) 
  public void resolveJson(HttpServletRequest request,HttpServletResponse response) throws IOException { 
    List m = (List) new ArrayList(); 
    JSONArray jsons = new JSONArray(); 
    for(int i=0;i<10;i++){ 
      User user = new User(); 
      user.setUserName("name_" + i); 
      m.add(user); 
    } 
    for(int j=0;j 
 

jsonの役割は文字列としてフロントバックグラウンドで伝達することだけでなく,jsonを用いてデータを伝達する際にその伝送効率をより主に考慮する.2つのシステムでデータ交換が必要な場合,シーケンス化されたオブジェクトが伝達されると効率が非常に低く,大量のオブジェクトの配列が格納されている場合は効率がさらに想像できないが,この場合,オブジェクトやデータをjson文字列に変換して伝達することで効率が向上する.本稿では,単一システムにおける前後台数データ伝送と解析のみについて説明するが,異機種システム間のjson伝送は本論文の議論の範囲内ではない.
以上、SpringMVCフレームワークの下でJQueryがJson形式のデータがどのように実現されているかを伝えて解析した関連資料ですので、ご愛用ください.