文档章节

程序员Web面试之JSON

葡萄城控件技术团队
 葡萄城控件技术团队
发布于 2014/06/26 14:36
字数 864
阅读 114
收藏 1
点赞 1
评论 0

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&

© 著作权归作者所有

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

葡萄城控件技术团队

粉丝 321
博文 487
码字总数 694630
作品 13
西安
高级程序员
前端笔试、面试

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

掘金官方 ⋅ 01/11 ⋅ 0

数据说话:怎样的程序员最抢手?

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

张丫丫 ⋅ 2015/01/27 ⋅ 10

开发工具总结(7)之多年珍藏的Android开发必备网站和工具

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

AWeiLoveAndroid ⋅ 01/08 ⋅ 0

大数据告诉你:程序员如何涨薪水

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

丨小丶牧灬 ⋅ 2015/06/29 ⋅ 2

百词斩Java程序员面试11个问题,你会几个?2018-04-10

近日,我们在w3cschool app开发者头条上,可以看到百词斩Java程序员面经。 在分享百词斩Java面经前,w3cschool特别给程序员小伙伴们带来一些Java学习干货: 0、学习Java必备的3大神器 如果你...

W3Cschool ⋅ 04/10 ⋅ 0

“小明,滚出去!”之程序员版

西雅图IT圈:seattleit 【今日作者】littlelann 一个充满着人文情怀的 web前端相声演员 01我:我擅长C语言面试官:那你用C写个“Hello World”来看看我: 面试官:出去! 02 我:我擅长C# 面...

m68futkmurmtj ⋅ 2017/11/09 ⋅ 0

程序员面试失败的几种原因

要想找到一份高薪的工作,学习到扎实的基础知识和专业技能是最基本的,但是面试时候不能够顺利地把自己所学表达出来也是不行的,就像茶壶里煮饺子,倒不出来,被录取的几率也会大大折扣,怎么...

uw63zqpkxwlrl1 ⋅ 2017/12/23 ⋅ 0

程序员面试失败的几种原因,你中枪了吗?

一直到今天,这跳槽高峰期一直迟迟不肯退却,竟还有互联网公司某部门整体辞职,对于一些人可能来说是司空见惯,最近人们无力吐槽这可怕的世界,有些人公司的明明很需要这方面的人才,但是呢就...

c6e5uli1n ⋅ 2017/12/12 ⋅ 0

JAVA新手学习路线和知识点(细分)

第一 Java语法的学习 3天 你需要会这些: 1. String,Integer,Long,Array,List,Map会用就够了。 2. Interface和Impl能分得清就够了,永远不要去用继承。 3.Model,也是Bean,记着Model里...

JAVA丶学习 ⋅ 2017/12/24 ⋅ 0

【直播】聊聊中美程序员的基本职业路径,现状和前景

本期饥人谷公开课,为大家特别邀请到一位大牛老师 Alex老师 毕业于卡内基梅隆大学,现任职于亚马逊AWS,从事云计算服务开发工作。有在腾讯,创业公司工作和作为独立开发者从事外包项目开发的...

moling ⋅ 03/16 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

个人博客的运营模式能否学习TMALL天猫质量为上?

心情随笔|个人博客的运营模式能否学习TMALL天猫质量为上? 中国的互联网已经发展了很多年了,记得在十年前,个人博客十分流行,大量的人都在写博客,而且质量还不错,很多高质量的文章都是在...

原创小博客 ⋅ 20分钟前 ⋅ 0

JavaScript零基础入门——(十一)JavaScript的DOM操作

JavaScript零基础入门——(十一)JavaScript的DOM操作 大家好,欢迎回到我们的JavaScript零基础入门。最近有些同学问我说,我讲的的比书上的精简不少。其实呢,我主要讲的是我在开发中经常会...

JandenMa ⋅ 今天 ⋅ 0

volatile和synchronized的区别

volatile和synchronized的区别 在讲这个之前需要先了解下JMM(Java memory Model :java内存模型):并发过程中如何处理可见性、原子性、有序性的问题--建立JMM模型 详情请看:https://baike.b...

MarinJ_Shao ⋅ 今天 ⋅ 0

深入分析Kubernetes Critical Pod(一)

Author: xidianwangtao@gmail.com 摘要:大家在部署Kubernetes集群AddOn组件的时候,经常会看到Annotation scheduler.alpha.kubernetes.io/critical-pod"="",以表示这是一个关键服务,那你知...

WaltonWang ⋅ 今天 ⋅ 0

原子性 - synchronized关键词

原子性概念 原子性提供了程序的互斥操作,同一时刻只能有一个线程能对某块代码进行操作。 原子性的实现方式 在jdk中,原子性的实现方式主要分为: synchronized:关键词,它依赖于JVM,保证了同...

dotleo ⋅ 今天 ⋅ 0

【2018.06.22学习笔记】【linux高级知识 14.4-15.3】

14.4 exportfs命令 14.5 NFS客户端问题 15.1 FTP介绍 15.2/15.3 使用vsftpd搭建ftp

lgsxp ⋅ 今天 ⋅ 0

JeeSite 4.0 功能权限管理基础(Shiro)

Shiro是Apache的一个开源框架,是一个权限管理的框架,实现用户认证、用户授权等。 只要有用户参与一般都要有权限管理,权限管理实现对用户访问系统的控制,按照安全规则或者安全策略控制用户...

ThinkGem ⋅ 昨天 ⋅ 0

python f-string 字符串格式化

主要内容 从Python 3.6开始,f-string是格式化字符串的一种很好的新方法。与其他格式化方式相比,它们不仅更易读,更简洁,不易出错,而且速度更快! 在本文的最后,您将了解如何以及为什么今...

阿豪boy ⋅ 昨天 ⋅ 0

Python实现自动登录站点

如果我们想要实现自动登录,那么我们就需要能够驱动浏览器(比如谷歌浏览器)来实现操作,ChromeDriver 刚好能够帮助我们这一点(非谷歌浏览器的驱动有所不同)。 一、确认软件版本 首先我们...

blackfoxya ⋅ 昨天 ⋅ 0

线性回归原理和实现基本认识

一:介绍 定义:线性回归在假设特证满足线性关系,根据给定的训练数据训练一个模型,并用此模型进行预测。为了了解这个定义,我们先举个简单的例子;我们假设一个线性方程 Y=2x+1, x变量为商...

wangxuwei ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部