文档章节

程序员Web面试之JSON

葡萄城技术团队
 葡萄城技术团队
发布于 2014/06/26 14:36
字数 864
阅读 122
收藏 1

JSON是什么?

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

 

 

 

JSON格式的最大优点: 它可以被很容易得被转换为一个javascript对象。例如,下面的代码片段中看到的,我们有一个JSON格式的数据里面有“姓名”,“街道”,“年龄”和“手机”。

<script type="text/javascript">  JSONObject="name":"John Johnson""street":"Oslo West 555""age":33"phone":"555 1234567"</script>

现在,这个数据可以直接使用,如我们可获得JSONObject的对象,并很方便的调用其“name”属性。

是否用SOAP可以做JSON同样的事情呢?

有2点不同:

首先,SOAP是用XML标签表达,比较重。JSON比较轻,纯数据。

其次,最重要的是,JSON可直接转换为javascript对象。同样的要转换SOAP XML为javascript对象是较繁琐的任务。

untitled

是否所有的技术都支持JSON?

是的,几乎所有的数据交换都支持JSON。

如下所示:

WCF服务:如果你想你的WCF服务应该发送JSON消息,而不是SOAP,可以设置“ResponseFormat”作为你的操作协定“WebMessageFormat.Json”。

=, UriTemplate=, RequestFormat== GetData();

&#160;

MVC:如果你希望MVC返回JSON数据;通过调用Json,可返回JSON格式的Customer对象。

<Customer> obj1 =  List<Customer>= =

ASP.net: 如果你想使用ASP.NET返回JSON,我们需要使用“DataContractJsonSerializer”类。

DataContractJsonSerializer serializer = =  json ==

使用jQuery如何进行一个JSON调用?

&#160;

如在一个MVC中,可通过“getEmployee”函数返回employ的JSON对象。

= =

我们用jQuery的getJson函数,来调用上述MVC函数返回的JSON对象即可。

$.getJSON("/Employee/getEmployee",

jQuery的getJson函数有三个参数:

  • 第一个参数,获取JSON数据的URL地址。

  • 第二个参数,可以将数据传递到URL的MVC操作。目前,我们只是做一个get操作,故第二个参数为NULL。

  • 第三个参数,在JavaScript中,用回调函数对返回的Employee对象进行处理。

因为输出是JSON,它会自动将JSON数据转换为JavaScript对象。你可直接使用“getData”函数显示了“data.empcode”属性,非常便捷。

是否可以将JSON对象Post到服务器?

可以。

可以使用jQuery的“post”方法将数据发送到服务器。

下面是如何post方法调用的例子,同样的,post有3个参数:

  • 第一个参数,接受JSON数据的URL地址

  • 第二个参数,是我们要发送的Json对象

  • 第三个参数,是回调函数,我们收到回应的数据进行处理。

 mydata ={name:"Shiv",city:"Mumbai""/Send/Request", mydata , (data,status){alert(data + &ldquo; &ldquo; + status);});

如何把一个完整的HTML表单以JSON格式Post到服务器上?

首先,我们需要调用jQuery的”serialize“,把需要post的表单序列化为JSON对象。

然后,采用上面类似的办法进行post即可。

完整代码如下:

 Mydata = $("#form1""/Customer/getCustomer",JSON. stringify (MyData), DisplayData);

&#160;

在后台(服务器),可通过inputStream进行捕获JSON数据流。

System.IO.Stream body ==  s =   reader.ReadToEnd() ;

我们怎样才能把JSON字符串转换为C#对象?

要转换一个JSON字符串到C#对象,我们需要使用“JavaScriptSerializer”类,并使用“反序列化”,我们将字符串转换为C#对象。

 jsonser =  obj = jsonser.Deserialize<dynamic> ( x = x[&ldquo;value&

© 著作权归作者所有

共有 人打赏支持
葡萄城技术团队

葡萄城技术团队

粉丝 343
博文 504
码字总数 733123
作品 17
西安
高级程序员
前端笔试、面试

让 BAT 的 Offer 不再难拿 随着各大公司春招的开始,很多小伙伴都行动起来了,我有幸能够加入百度并和大家分享自己的经验心得。由于我面试的都是比较大的公司,所以自然也是做了这方面的准备...

掘金官方
01/11
0
0
使用JavaScript ES6的新特性计算Fibonacci(非波拉契数列)

程序员面试系列 Java面试系列-webapp文件夹和WebContent文件夹的区别? 程序员面试系列:Spring MVC能响应HTTP请求的原因? Java程序员面试系列-什么是Java Marker Interface(标记接口) 使...

Mr_zebra
09/04
0
0
数据说话:怎样的程序员最抢手?

你们想不想成为最抢手的程序员?迎娶白富美,走上人生巅峰? 1、什么样的程序员涨薪最多? 安卓、iOS、Web前端薪资涨幅都较其他语言要高。对单个程序员来说,想要获得较高的薪资涨幅,选定热门...

张丫丫
2015/01/27
604
10
开发工具总结(7)之多年珍藏的Android开发必备网站和工具

【前言】工欲善其事,必先利其器。搞开发多年了,会收藏一些干货网站和工具,辅助开发,提高开发效率。下面一次性分享给大家。喜欢的朋友们点个赞吧。 说明:这些是我收藏的网站,感觉还是不...

AWeiLoveAndroid
01/08
0
0
大数据告诉你:程序员如何涨薪水

美国队长:这怎么知道? 国防军官:这怎么不知道,21世纪就是本数码书。佐拉教会九头蛇怎么去读它,你的银行记录、病例、投票模式、电子邮件、通话信息、还有大学成绩单...左拉的算法会评估人...

丨小丶牧灬
2015/06/29
3.4K
2

没有更多内容

加载失败,请刷新页面

加载更多

smart-doc特殊功能使用介绍

smart-doc从8月份底开始开源发布到目前为止已经迭代了几个版本。在这里非常感谢那些敢于用smart-doc去做尝试并积极提出建议的社区用户。因此决定在本博客中重要说明下smart-doc的功能,包括使...

上官胡闹
昨天
0
0
JavaEE——Junit

声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。 Junit Junit又名单元测试,Junit是用来测试Jav...

凯哥学堂
昨天
0
0
读《美丽新世界》

一、背景 十一国庆节从重庆回深圳的时候,做得绿皮车,路上看了两本书:李笑来的《韭菜的自我修养》和禁书《美丽新世界》。 上篇文章已经分享了 读《韭菜的自我修养》,这篇文章来记录一下《...

tiankonguse
昨天
0
0
archlinux下基于Jenkins,docker实现自动化部署(持续交互)

本文永久更新地址:https://my.oschina.net/bysu/blog/2250954 【若要到岸,请摇船:开源中国 不最醉不龟归】 -----------------------------------第一部分Jenkins的安装与使用-----------...

不最醉不龟归
昨天
0
0
Spark Parquet file split

在实际使用 spark + parquet 的时候, 遇到了两个不解的地方: 我们只有一个 parquet 文件(小于 hdfs block size), 但是 spark 在某个 stage 生成了4个 tasks 来处理. 4个 tasks 中只有一个 ta...

Aaaaaaaron
昨天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部