• JSON 体验JSON (一) jquery/AJAX 筒单例子


    前记:以前就做过JSON 的例子很久没用给忘了,今天同事要用jquery/AJAX 来做报表让我帮忙还真有点麻烦。所以开头一章筒单调用

    介绍

    对象与json(JavaScript Object Notation)

    JSON具有以下这些形式:
         对象是一个无序的“‘名称/值’对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间使用“,”(逗号)分隔。
         数组是 值(value)的有序集合。一个数组以“[”(左中括号)开始,“]”(右中括号)结束。值之间使用“,”(逗号)分隔值(value)可以是双引号括 起来的字符串(string)、数值(number)、true、false、 null、对象(object)或者数组(array)。这些结构可以嵌套。
         字符串(string)是由双引号包围的任意数量Unicode字符的集合,使用反斜线转义。一个字符(character)即一个单独的字符串(character string)。


    对象用{}
    数组用[]
    var Users=[
                 {"userID":"1","Name":"Froog","friends":["Jack","Zack","Justin"]},
                 {"userID":"2","Name":"Zack","friends":["Jack","Zack","Justin"]},
                 {"userID":"3","Name":"Justin","friends":["Jack","Zack","Justin"]}
              ];

    转换JSON字符到Object
             var JsonString = '{"userID":"2","Name":"Froog","friends":["Jack","Zack","Justin"]}';   
             var User2 = eval('(' + JsonString + ')');
             alert(User2.Name);
             alert(User2.friends[0]);

    //引用 json.js 实现JSON字符与Object相互转换。
             var obj = JsonString.parseJSON();   
             alert(obj.toJSONString());  

     。net  jquery/AJAX调用时场景

    //AJAX 中使用JSON    

    1、先建立一个webScript服务

    2、在web服务类前面标记 [System.Web.Script.Services.ScriptService]

    3、webScript服务方法返回一个符合JSON格式的字符串

    4、执行jquery 的文事件$(document).ready ,

    5、通过$()选择器绑定对像

    6、在对象事件里面发送ajax请求 $.ajax();

    7、ajax data:传入到服务器的参数,键值如: data:"{TM:'ok'}",

    8、   把服务器JSON转成js的obj对象  var obj=eval(data.d);

    9、这样JSON就成为JS 的object对象了

    webScript服务方法

             [WebMethod]
            public string HelloWorld()
            {
                 return "{name:'hello word!'}";
            }
              function getResult()
              { 

      $(document).ready(function(){
                $.ajax({
               type: "POST",
               url: "?Json=true",
               data:"{TM:'ok'}", //无参也必须指定一个参数
               success: function(msg){ 
                                     var obj=eval(data.d);
                                     alert( obj.Name);
                                      }
             });

    });

    从服务器来的是json数组
    如[{id:1,name:"小子"},{id:2,name:"大子"}]
    在客户端需要eval("("+json数组对象+")"); 这样用javascript运行一次

    从服务来的是json数据转成javascript的json
    1.var data=eval(data);  eval()函数没有任何作用,就是运行起javascript的代码

    2.jquery中$.get("url",null,function(data),"json") 写上"json"这个参数那么返回的数据将作为json处理


    vs2005

    如:单个json对象 var data=eval(data.d);
    如:数组json对象 var data=eval("("+data.d+")") ;

    注vs2008一定要加.d才能正常将jquery的json转成javascript的json对象
    如:单个json对象 var data=eval(data.d);
    如:数组json对象 var data=eval("("+data.d+")") ;

  • 相关阅读:
    [华为]字符串反转
    [华为]字符个数统计
    [华为]字符串分隔
    [华为]计算字符个数
    [华为]字符串最后一个单词的长度
    感悟-思考-生活
    [百度校招]打印全排列
    [阿里]逆序打印整数,要求递归实现
    [百度]数组中去掉连续重复的数字,只保留1个
    百度NLP三面
  • 原文地址:https://www.cnblogs.com/heling/p/1664180.html
Copyright © 2020-2023  润新知