JSON的用法

  •     var user =    
  •     {    
  •         "username":"andy",   
  •         "age":20,   
  •         "info": { "tel": "123456", "cellphone": "98765"},   
  •         "address":   
  •             [   
  •                 {"city":"beijing","postcode":"222333"},   
  •                 {"city":"newyork","postcode":"555666"}   
  •             ]   
  •     }   
  •        
  •     alert(user.username);   
  •     alert(user.age);   
  •     alert(user.info.cellphone);   
  •     alert(user.address[0].city);   
  •     alert(user.address[0].postcode);   
  • }   
       

    JSON

  •     var user =    
  •     {    
  •         "username":"andy",   
  •         "age":20,   
  •         "info": { "tel": "123456", "cellphone": "98765"},   
  •         "address":   
  •             [   
  •                 {"city":"beijing","postcode":"222333"},   
  •                 {"city":"newyork","postcode":"555666"}   
  •             ]   
  •     }   
  •        
  •     alert(user.username);   
  •     alert(user.age);   
  •     alert(user.info.cellphone);   
  •     alert(user.address[0].city);   
  •     alert(user.address[0].postcode);   
  •        
  •     user.username = "Tom";   
  •     alert(user.username);   
  • }   
       
      JSON提供了 json.js包,下载 http://www. json.org/ json.js 后,将其引入然后就可以简单的使用object. toJSONString()转换成 JSON数据。
    js 代码
    1. function showCar() {   
    2.     var carr = new Car("Dodge", "Coronet R/T", 1968, "yellow");   
    3.     alert(carr.toJSONString());   
    4. }   
    5.   
    6. function Car(make, model, year, color)       {   
    7.      this.make  =  make;   
    8.      this.model  =  model;   
    9.      this.year  =  year;   
    10.      this.color  =  color;   
    11. }   

    JSON

  •     var str = '{ "name": "Violet", "occupation": "character" }';   
  •     var obj = eval('(' + str + ')');   
  •     alert(obj.toJSONString());   
  • }   
       

     

  •     var str = '{ "name": "Violet", "occupation": "character" }';   
  •     var obj = str.parseJSON();   
  •     alert(obj.toJSONString());   
  • }   
       

    JSONajaxajax.JSONTest1.java));  

       

    ajax

  •     var url = "/MyWebApp/JSONTest1";   
  •     var mailAjax = new Ajax.Request(   
  •         url,   
  •         {   
  •             method: 'get',   
  •             onComplete: jsonResponse   
  •         }   
  •     );   
  • }   
  •   
  • function jsonResponse(originalRequest) {   
  •     alert(originalRequest.responseText);   
  •     var myobj = originalRequest.responseText.parseJSON();   
  •     alert(myobj.name);   
  • }   
       
    1.5.1.js JSON json.js, 修改上面的方法
    JSONjson.jar)
  •     alert(originalRequest.responseText);   
  •     var myobj = originalRequest.responseText.evalJSON(true);   
  •     alert(myobj.name);   
  • }   
       
    JSON还提供了java的jar包 http://www. json.org/java/index.html API也很简单,下面举个例子
    在javascript中填加请求参数
    js 代码
    1. function sendRequest() {   
    2.     var carr = new Car("Dodge", "Coronet R/T", 1968, "yellow");   
    3.     var pars = "car=" + carr.toJSONString();   
    4.   
    5.     var url = "/MyWebApp/JSONTest1";   
    6.     var mailAjax = new Ajax.Request(   
    7.         url,   
    8.         {   
    9.             method: 'get',   
    10.             parameters: pars,   
    11.             onComplete: jsonResponse   
    12.         }   
    13.     );   
    14. }   
    使用 JSON 请求字符串就可以简单的生成JSONObject 并进行解析,修改

    void doService(HttpServletRequest request, HttpServletResponse response) throws IOException {   

  •         String s3 = request.getParameter("car");   
  •         try {   
  •             JSONObject jsonObj = new JSONObject(s3);   
  •             System.out.println(jsonObj.getString("model"));   
  •             System.out.println(jsonObj.getInt("year"));   
  •         } catch (JSONException e) {   
  •             e.printStackTrace();   
  •         }   
  •         response.getWriter().print("{ /"name/": /"Violet/", /"occupation/": /"character/" }");   
  •     }   
       
    同样可以使用JSONObject 生成 JSON 字符串,修改servlet
    java 代码
    1. private void doService(HttpServletRequest request, HttpServletResponse response) throws IOException {   
    2.         String s3 = request.getParameter("car");   
    3.         try {   
    4.             JSONObject jsonObj = new JSONObject(s3);   
    5.             System.out.println(jsonObj.getString("model"));   
    6.             System.out.println(jsonObj.getInt("year"));   
    7.         } catch (JSONException e) {   
    8.             e.printStackTrace();   
    9.         }   
    10.            
    11.         JSONObject resultJSON = new JSONObject();   
    12.         try {   
    13.             resultJSON.append("name", "Violet")   
    14.                       .append("occupation", "developer")   
    15.                       .append("age", new Integer(22));   
    16.             System.out.println(resultJSON.toString());   
    17.         } catch (JSONException e) {   
    18.             e.printStackTrace();   
    19.         }   
    20.         response.getWriter().print(resultJSON.toString());   
    21.     }   
    js 代码
    1. function jsonResponse(originalRequest) {   
    2.     alert(originalRequest.responseText);   
    3.     var myobj = originalRequest.responseText.evalJSON(true);   
    4.     alert(myobj.name);   
    5.     alert(myobj.age);   
    6. }  
  •  

    你可能感兴趣的:(JavaScript,json,Ajax,servlet,Parameters,character)