JSON是什么?
JSON (JavaScript对象表示法),是在网络通信下,常用的一种数据表达格式,它有助于我们于一个自描述的,独立的和轻的方式呈现并交换数据。这些数据可以易于和转换为JavaScript对象。
,
,
,
JSON格式的最大优点:它可以被很容易得被转换为一个JavaScript对象,例如,下面的代码片段中看到的,我们有一个JSON格式的数据里面有“姓名”,“街”道,“年龄”和“手”机。
& lt; script type=" text/JavaScript祝辞,var JSONObject=,{“名称”:“John 约翰逊”,“街”:“Oslo West 555”, “年龄”:33岁的“电话”:" 555,1234567 "}; 警报(JSONObject.name);, & lt;/script>
现在,这个数据可以直接使用,如我们可获得JSONObject的对象,并很方便的调用其“name”属性。
是否用SOAP可以做JSON同样的事情呢?
有2点不同:
首先,SOAP是用XML标签表达,比较重. JSON比较轻,纯数据。
其次,最重要的是,JSON可直接转换为javascript对象。同样的要转换SOAP XML为javascript对象是较繁琐的任务。
是否所有的技术都支持JSON ?
是的,几乎所有的数据交换都支持JSON。
如下所示:
<强> WCF服务>强:如果你想你的WCF服务应该发送JSON消息,而不是肥皂,可以设置“ResponseFormat”作为你的操作协定“WebMessageFormat.Json”。
[OperationContract] [WebInvoke(=盎竦谩钡姆椒?,UriTemplate="/GetData ", RequestFormat=WebMessageFormat.Json, ,,,,,,,,,,ResponseFormat=WebMessageFormat.Json)] string GetData ();
,
<强> MVC >强:如果你希望MVC返回JSON数据,通过调用JSON,可返回JSON格式的客户对象。
public JsonResult , CustomerJson () { ,,,,List, obj1 =, new List (); ,,,,thread . sleep (5000); ,,,,,,,,,,,Customer obj =, new 客户(); ,,,,,,,,,,,obj.CustomerCode =,“1001”; ,,,,,,,,,,,obj1.Add (obj); return Json(其中obj1 JsonRequestBehavior.AllowGet); }
<强> ASP。净>强:如果你想使用ASP.NET返回JSON,我们需要使用“DataContractJsonSerializer”类。
DataContractJsonSerializer serializer =, new DataContractJsonSerializer (myPerson.GetType ()); MemoryStream 小姐=,new MemoryStream (); serializer.WriteObject(女士,myPerson); string json =, System.Text.Encoding.UTF8.GetString (ms.ToArray ()); Response.Clear (); 时间=Response.ContentType “application/json; charset=utf - 8”; Response.Write (json); Response.End ();
使用jQuery如何进行一个JSON调用?
,
如在一个MVC中,可通过“getEmployee”函数返回雇用的JSON对象。
public JsonResult , getEmployee () { Emp obj =, new 电磁脉冲(); 时间=obj.empcode “1001”; return Json (obj, JsonRequestBehavior.AllowGet); }
我们用jQuery的getJson函数,来调用上述MVC函数返回的JSON对象即可。
.getJSON美元(“/员工/getEmployee”,,空,,getData); function getData(数据) { 警报(data.empcode); }
的jQuery getJson函数有三个参数:
- <李>
第一个参数,获取JSON数据的URL地址。
李> <李>第二个参数,可以将数据传递到URL的MVC操作。目前,我们只是做一个让操作,故第二个参数为零。
李> <李>第三个参数,在JavaScript中,用回调函数对返回的员工对象进行处理。
李>因为输出是JSON,它会自动将JSON数据转换为JavaScript对象。你可直接使用“getData”函数显示了“数据。empcode”属性,非常便捷。
是否可以将JSON对象Post到服务器?
可以。
可以使用jQuery的“Post”方法将数据发送到服务器。
下面是如何发布方法调用的例子,同样的,文章有3个参数:
- <李>
第一个参数,接受JSON数据的URL地址
李> <李>第二个参数,是我们要发送的JSON对象
李> <李>第三个参数,是回调函数,我们收到回应的数据进行处理。
李>var mydata ={名称:“剃刀”,城市:“孟买”}; $ . Post(“/发送/请求”,,//,URLmydata ,,//, Data 用be sentfunction(数据、状态){警报(Data +,,宝贝,,,宝贝,,+,状态);});,//,Call back 函数程序员网上面试之JSON