程序员网上面试之JSON

  

JSON是什么?

JSON (JavaScript对象表示法),是在网络通信下,常用的一种数据表达格式,它有助于我们于一个自描述的,独立的和轻的方式呈现并交换数据。这些数据可以易于和转换为JavaScript对象。

,

程序员网上面试之JSON ,

,

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 ?

是的,几乎所有的数据交换都支持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